Edit

thodg/got/include/got_error.h

Branch :

  • Show log

    Commit

  • Author : Stefan Sperling
    Date : 2018-03-10 00:22:23
    Hash : 86c3caaf
    Message : add worktree skeleton code; implement got_worktree_init()

  • include/got_error.h
  • /*
     * Copyright (c) 2018 Stefan Sperling <stsp@openbsd.org>
     *
     * Permission to use, copy, modify, and distribute this software for any
     * purpose with or without fee is hereby granted, provided that the above
     * copyright notice and this permission notice appear in all copies.
     *
     * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
     * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
     * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
     * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
     * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
     * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
     * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
     */
    
    /* Error codes */
    #define GOT_ERR_ERRNO		0
    #define GOT_ERR_NO_MEM		1
    #define GOT_ERR_NOT_GIT_REPO	2
    #define GOT_ERR_NOT_ABSPATH	3
    #define GOT_ERR_BAD_PATH	4
    #define GOT_ERR_NOT_REF		5
    #define GOT_ERR_IO		6
    #define GOT_ERR_EOF		7
    #define GOT_ERR_DECOMPRESSION	8
    #define GOT_ERR_NO_SPACE	9
    #define GOT_ERR_BAD_OBJ_HDR	10
    #define GOT_ERR_OBJ_TYPE	11
    #define GOT_ERR_BAD_OBJ_DATA	12
    #define GOT_ERR_FILE_OPEN	13
    #define GOT_ERR_BAD_PACKIDX	14
    #define GOT_ERR_PACKIDX_CSUM	15
    #define GOT_ERR_BAD_PACKFILE	16
    #define GOT_ERR_NO_OBJ		17
    #define GOT_ERR_NOT_IMPL	18
    #define GOT_ERR_OBJ_NOT_PACKED	19
    #define GOT_ERR_BAD_DELTA_CHAIN	20
    #define GOT_ERR_BAD_DELTA	21
    #define GOT_ERR_COMPRESSION	22
    #define GOT_ERR_BAD_OBJ_ID_STR	23
    #define GOT_ERR_WORKTREE_EXISTS	26
    
    static const struct got_error {
    	int code;
    	const char *msg;
    } got_errors[] = {
    	{ GOT_ERR_ERRNO,	"see errno" },
    	{ GOT_ERR_NO_MEM,	"out of memory" },
    	{ GOT_ERR_NOT_GIT_REPO, "no git repository found" },
    	{ GOT_ERR_NOT_ABSPATH,	"absolute path expected" },
    	{ GOT_ERR_BAD_PATH,	"bad path" },
    	{ GOT_ERR_NOT_REF,	"no such reference found" },
    	{ GOT_ERR_IO,		"input/output error" },
    	{ GOT_ERR_EOF,		"unexpected end of file" },
    	{ GOT_ERR_DECOMPRESSION,"decompression failed" },
    	{ GOT_ERR_NO_SPACE,	"buffer too small" },
    	{ GOT_ERR_BAD_OBJ_HDR,	"bad object header" },
    	{ GOT_ERR_OBJ_TYPE,	"wrong type of object" },
    	{ GOT_ERR_BAD_OBJ_DATA,	"bad object data" },
    	{ GOT_ERR_FILE_OPEN,	"could not open file" },
    	{ GOT_ERR_BAD_PACKIDX,	"bad pack index file" },
    	{ GOT_ERR_PACKIDX_CSUM, "pack index file checksum error" },
    	{ GOT_ERR_BAD_PACKFILE,	"bad pack file" },
    	{ GOT_ERR_NO_OBJ,	"object not found" },
    	{ GOT_ERR_NOT_IMPL,	"feature not implemented" },
    	{ GOT_ERR_OBJ_NOT_PACKED,"object is not packed" },
    	{ GOT_ERR_BAD_DELTA_CHAIN,"bad delta chain" },
    	{ GOT_ERR_BAD_DELTA,	"bad delta" },
    	{ GOT_ERR_COMPRESSION,	"compression failed" },
    	{ GOT_ERR_BAD_OBJ_ID_STR,"bad object id string" },
    	{ GOT_ERR_WORKTREE_EXISTS,"worktree already exists" },
    };
    
    const struct got_error * got_error(int code);
    const struct got_error *got_error_from_errno();
    const struct got_error *got_ferror(FILE *, int);