|
|
BSD 4.3
/* $Header: /var/lib/cvsd/repos/CSRG/43BSD/contrib/mkmf/src/path.h,v 1.1.1.1 2018/04/24 16:12:54 root Exp $ */
/*
* Pathname definitions
*
* Author: Peter J. Nicklin
*/
/*
* Buffer sizes
*/
#define ALIASSIZE 30 /* project directory alias size */
#define TYPESIZE 30 /* project directory type label size */
#define DIRDESCSIZE 128 /* project directory description size */
#define P_BUFSIZE 1024 /* pathname buffer size */
#define PATHSIZE 256 /* maximum pathname length */
#define PPATHSIZE 128 /* maximum project pathname length */
#define TYPBUFSIZE 256 /* directory type labels buffer */
/*
* Nomenclature (WARNING: Check definition usage BEFORE changing)
*/
#define _CDIRC '.' /* current directory character */
#define _HDIRC '~' /* home directory character */
#define _PDIRC '^' /* project root directory character */
#define _PDTSC '/' /* project dir type labels sep char */
#define _PPSC '^' /* project path separator character */
#define _PSC '/' /* pathname separator character */
#define _RDIRC '/' /* root directory character */
#define CURDIR "." /* current directory */
#define PARENTDIR ".." /* parent directory */
#define PATHSEP "/" /* pathname separator */
#define PPATHSEP "^" /* project pathname separator */
#define ROOTDIR "/" /* root directory */
#define ROOTPROJECT "^" /* root project */
#define USERPROJECT "~" /* user's root project */
/*
* Pathname types
*/
#define P_IFMT 0xf0000 /* project pathname mask */
#define P_IFNEW 0x00000 /* new directory or file */
#define P_IFREG 0x10000 /* regular directory or file */
#define P_IFHOME 0x20000 /* root project root directory */
#define P_IFPDIR 0x30000 /* project directory */
#define P_IFPROOT 0x40000 /* project root directory */
/*
* Pathname struct
*/
typedef struct _path
{
unsigned long p_mode; /* type of pathname */
char *p_alias; /* pathname alias */
char *p_path; /* pathname */
char *p_type; /* project directory type labels */
char *p_desc; /* project directory description */
char p_buf[P_BUFSIZE]; /* pathname buffer */
char p_project[PATHSIZE]; /* pathname's project */
} PATH;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.