Files
Arquivotheca.AIX-4.1.3/bos/kernel/sys/pathname.h
seta75D d6fe8fe829 Init
2021-10-11 22:19:34 -03:00

56 lines
1.7 KiB
C

/* @(#)56 1.7 src/bos/kernel/sys/pathname.h, syslfs, bos411, 9428A410j 3/23/94 10:12:12 */
#ifndef _H_PATHNAME
#define _H_PATHNAME
/*
* COMPONENT_NAME: SYSLFS - Logical File System
*
* FUNCTIONS:
*
* ORIGINS: 27, 24
*
* (C) COPYRIGHT International Business Machines Corp. 1985, 1989
* All Rights Reserved
* Licensed Materials - Property of IBM
*
* US Government Users Restricted Rights - Use, duplication or
* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
*/
/* (#)pathname.h 1.3 86/12/18 NFSSRC */
#include <sys/limits.h>
/*
* Pathname structure.
* System calls which operate on path names gather the
* pathname from system call into this structure and reduce
* it by peeling off translated components. If a symbolic
* link is encountered the new pathname to be translated
* is also assembled in this structure.
*/
struct pathname {
char *pn_path; /* remaining pathname */
uint pn_pathlen; /* remaining length */
char pn_buf[PATH_MAX+1]; /* pathname storage */
};
#define pn_peekchar(PNP) ((PNP)->pn_pathlen!=0?*((PNP)->pn_path):0)
#define pn_pathleft(PNP) ((PNP)->pn_pathlen)
#define pn_free(PNP)
#ifdef notneeded
extern int pn_getchar(); /* get next pathname char */
extern int pn_alloc(); /* allocat buffer for pathname */
extern void pn_free(); /* free pathname buffer */
#endif
extern int pn_get(); /* allocate buf and copy path into it */
extern int pn_set(); /* set pathname to string */
extern int pn_combine(); /* combine to pathnames (for symlink) */
extern int pn_getcomponent(); /* get next component of pathname */
extern void pn_skipslash(); /* skip over slashes */
extern caddr_t pnload(); /* get path from user area */
#endif /* _H_PATHNAME */