|
|
1.1 ! root 1: /* $Header: path.h,v 1.1 85/03/14 15:33:11 nicklin Exp $ */ ! 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;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.