$NetBSD: patch-ac,v 1.1 2000/01/15 17:44:21 hubertf Exp $ diff -x *.orig -urN ./WWW/Library/Implementation/HTAAFile.h /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTAAFile.h --- ./WWW/Library/Implementation/HTAAFile.h Thu Jan 1 01:00:00 1970 +++ /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTAAFile.h Sat Jan 15 07:57:17 2000 @@ -0,0 +1,122 @@ +/* FILE ROUTINES FOR ACCESS AUTHORIZATION PACKAGE + + This module implements the routines used for accessing (and parsing) the files used in + the access authorization: + + password file + + group file + + access control list (ACL) file + + */ + + +#ifndef HTAAFILE_H +#define HTAAFILE_H + +#include /* HTList */ + +#ifdef SHORT_NAMES +#define HTAAFnRe HTAAFile_nextRec +#define HTAAFrFi HTAAFile_readField +#define HTAAFrLi HTAAFile_readList +#endif /*SHORT_NAMES*/ + + +/* Used field separators */ + +#define FIELD_SEPARATOR ':' /* Used to separate fields */ +#define LIST_SEPARATOR ',' /* Used to separate items in a list */ + /* in group and ALC files. */ + +/* + +Naming conventions + + Record is an entire line in file. + + Field is an entity separated by colons and/or by end-of-line. + + List is a field in which there are items separated by commas. + +Record-oriented Read Routines + + Password, group and ACL are internally read in by the following functions: + + HTAAFile_nextRec() skips to the beginning of the next record (must be called even + after the last field of a record is read to proceed to the next + record). + + HTAAFile_readField() reads a field (separated by colons). + + HTAAFile_readList() reads a field containing a comma-separated list of items. + + */ + +/* PUBLIC HTAAFile_nextRec() +** GO TO THE BEGINNING OF THE NEXT RECORD +** ON ENTRY: +** fp is the file from which records are read from. +** +** ON EXIT: +** returns nothing. File read pointer is located at the beginning +** of the next record. +** +*/ +PUBLIC void HTAAFile_nextRec PARAMS((FILE * fp)); + + +/* PUBLIC HTAAFile_readField() +** READ A FIELD FROM A PASSWORD, GROUP +** OR ACCESS CONTROL LIST FILE +** i.e. an item terminated by colon, +** end-of-line, or end-of-file. +** ON ENTRY: +** fp is the file to read the characters from +** contents is the character array to put the characters +** max_len is the maximum number of characters that may +** be read (i.e. the size of dest minus one for +** terminating null). +** ON EXIT: +** returns the terminating character +** (i.e. either separator or CR or LF or EOF). +** contents contains a null-terminated string representing +** the read field. +** NOTE 1: +** Ignores leading and trailing blanks and tabs. +** NOTE 2: +** If the field is more than max_len characters +** long, the rest of the characters in that item +** are ignored. However, contents is always +** null-terminated! +*/ +PUBLIC int HTAAFile_readField PARAMS((FILE * fp, + char * contents, + int max_len)); + + +/* PUBLIC HTAAFile_readList() +** +** READ A LIST OF STRINGS SEPARATED BY COMMAS +** (FROM A GROUP OR ACCESS CONTROL LIST FILE) +** ON ENTRY: +** fp is a pointer to the input file. +** result is the list to which append the read items. +** max_len is the maximum number of characters in each +** list entry (extra characters are ignored). +** ON EXIT: +** returns the number of items read. +** +*/ +PUBLIC int HTAAFile_readList PARAMS((FILE * fp, + HTList * result, + int max_len)); +/* + + */ + +#endif /* not HTAAFILE_H */ +/* + + End of file HTAAFile.h. */