Annotation of 43BSDTahoe/new/spms/include/path.h, revision 1.1

1.1     ! root        1: /* $Header$ */
        !             2: 
        !             3: /*
        !             4:  * Pathname definitions
        !             5:  *
        !             6:  * Author: Peter J. Nicklin
        !             7:  */
        !             8: 
        !             9: /*
        !            10:  * Buffer sizes
        !            11:  */
        !            12: #define ALIASSIZE      30              /* project directory alias size */
        !            13: #define TYPESIZE       30              /* project directory type label size */
        !            14: #define DIRDESCSIZE    128             /* project directory description size */
        !            15: #define P_BUFSIZE      1024            /* pathname buffer size */
        !            16: #define        PATHSIZE        256             /* maximum pathname length */
        !            17: #define PPATHSIZE      128             /* maximum project pathname length */
        !            18: #define TYPBUFSIZE     256             /* directory type labels buffer */
        !            19: 
        !            20: /* 
        !            21:  * Nomenclature (WARNING: Check definition usage BEFORE changing)
        !            22:  */
        !            23: #define _CDIRC         '.'             /* current directory character */
        !            24: #define _HDIRC         '~'             /* home directory character */
        !            25: #define _PDIRC         '^'             /* project root directory character */
        !            26: #define _PDTSC         '/'             /* project dir type labels sep char */
        !            27: #define _PPSC          '^'             /* project path separator character */
        !            28: #define _PSC           '/'             /* pathname separator character */
        !            29: #define _RDIRC         '/'             /* root directory character */
        !            30: #define CURDIR         "."             /* current directory */
        !            31: #define PARENTDIR      ".."            /* parent directory */
        !            32: #define PATHSEP                "/"             /* pathname separator */
        !            33: #define PPATHSEP       "^"             /* project pathname separator */
        !            34: #define ROOTDIR                "/"             /* root directory */
        !            35: #define ROOTPROJECT    "^"             /* root project */
        !            36: #define USERPROJECT    "~"             /* user's root project */
        !            37: 
        !            38: /*
        !            39:  * Pathname types
        !            40:  */
        !            41: #define P_IFMT         0xf0000         /* project pathname mask */
        !            42: #define        P_IFNEW         0x00000         /* new directory or file */
        !            43: #define P_IFREG                0x10000         /* regular directory or file */
        !            44: #define        P_IFHOME        0x20000         /* root project root directory */
        !            45: #define P_IFPDIR       0x30000         /* project directory */
        !            46: #define        P_IFPROOT       0x40000         /* project root directory */
        !            47: 
        !            48: /*
        !            49:  * Pathname struct
        !            50:  */
        !            51: typedef struct _path
        !            52:        {
        !            53:        unsigned long p_mode;           /* type of pathname */
        !            54:        char *p_alias;                  /* pathname alias */
        !            55:        char *p_path;                   /* pathname */
        !            56:        char *p_type;                   /* project directory type labels */
        !            57:        char *p_desc;                   /* project directory description */
        !            58:        char p_buf[P_BUFSIZE];          /* pathname buffer */
        !            59:        char p_project[PATHSIZE];       /* pathname's project */
        !            60:        } PATH;

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.