|
|
BSD 4.3
/* $Header: /var/lib/cvsd/repos/CSRG/43BSD/contrib/spms/include/pdb.h,v 1.1.1.1 2018/04/24 16:12:55 root Exp $ */
/*
* Project database definitions
*
* Author: Peter J. Nicklin
*/
/*
* Buffer sizes
*/
#define PBUFSIZE 1024 /* project database buffer size */
#define PDBERRSIZE 256 /* database error message buffer size */
/*
* Database access mode definitions
*/
#define _PACCESS 007 /* access mask */
#define _PREAD 001 /* database open for reading */
#define _PWRITE 002 /* database open for writing */
#define _PAPPEND 004 /* database open for appending */
/*
* Database status definitions
*/
#define _PSTAT 070 /* status mask */
#define _PUPDATE 010 /* database updated */
#define _PEOF 020 /* EOF */
#define _PERR 040 /* error */
/*
* Project database structure
*/
typedef struct _pdbdesc /* database description struct */
{
char root[PATHSIZE]; /* database directory pathname */
char path[PATHSIZE]; /* database pathname */
FILE *fp; /* database file pointer */
char tpath[PATHSIZE]; /* temporary database pathname */
FILE *tfp; /* temporary database file ptr */
unsigned short flag; /* mode of database access */
char pbuf[PBUFSIZE]; /* database line buffer */
char perr[PDBERRSIZE]; /* database error message buffer */
} PDB;
/*
* Functions defined for project databases
*/
extern int _closepdb(); /* close database without updating */
extern int closepdb(); /* close database */
extern int errpdb(); /* print database error message */
extern PDB *mustopenpdb(); /* must open database or die */
extern PDB *openpdb(); /* open database */
extern void renamepdb(); /* rename database */
extern void resetpdb(); /* reset current database ptr */
extern void rewindpdb(); /* rewind database */
extern int pfndent(); /* find and load database entry */
extern int pgetent(); /* load next entry into buffer */
extern int pputent(); /* write buffer to database */
extern void prment(); /* remove database entry */
extern void paddkey(); /* add key to specified entries */
extern void pchgkey(); /* change specified key */
extern void prmkey(); /* remove specified key */
extern void paddflag(); /* add flags */
extern void pchgflag(); /* change flags */
extern void pputflag(); /* add or change flags */
extern void prmflag(); /* remove flags */
extern void paddstring(); /* add or change strings */
extern void pchgstring(); /* change strings */
extern void pputstring(); /* add or change strings */
extern void prmstring(); /* remove strings */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.