xref: /plan9/sys/src/ape/lib/ap/posix/pathconf.c (revision 781103c4074deb8af160e8a0da2742ba6b29dc2b)
13e12c5d1SDavid du Colombier #include	<unistd.h>
23e12c5d1SDavid du Colombier #include	<limits.h>
33e12c5d1SDavid du Colombier #include	<errno.h>
43e12c5d1SDavid du Colombier #include	<sys/limits.h>
53e12c5d1SDavid du Colombier 
63e12c5d1SDavid du Colombier long
pathconf(const char *,int name)7*781103c4SDavid du Colombier pathconf(const char *, int name)
83e12c5d1SDavid du Colombier {
93e12c5d1SDavid du Colombier 	switch(name)
103e12c5d1SDavid du Colombier 	{
113e12c5d1SDavid du Colombier 	case _PC_LINK_MAX:
123e12c5d1SDavid du Colombier 		return LINK_MAX;
133e12c5d1SDavid du Colombier 	case _PC_MAX_CANON:
143e12c5d1SDavid du Colombier 		return MAX_CANON;
153e12c5d1SDavid du Colombier 	case _PC_MAX_INPUT:
163e12c5d1SDavid du Colombier 		return MAX_INPUT;
173e12c5d1SDavid du Colombier 	case _PC_NAME_MAX:
183e12c5d1SDavid du Colombier 		return NAME_MAX;
193e12c5d1SDavid du Colombier 	case _PC_PATH_MAX:
203e12c5d1SDavid du Colombier 		return PATH_MAX;
213e12c5d1SDavid du Colombier 	case _PC_PIPE_BUF:
223e12c5d1SDavid du Colombier 		return PIPE_BUF;
233e12c5d1SDavid du Colombier 	case _PC_CHOWN_RESTRICTED:
243e12c5d1SDavid du Colombier #ifdef _POSIX_CHOWN_RESTRICTED
253e12c5d1SDavid du Colombier 		return _POSIX_CHOWN_RESTRICTED;
263e12c5d1SDavid du Colombier #else
273e12c5d1SDavid du Colombier 		return -1;
283e12c5d1SDavid du Colombier #endif
293e12c5d1SDavid du Colombier 	case _PC_NO_TRUNC:
303e12c5d1SDavid du Colombier #ifdef _POSIX_NO_TRUNC
313e12c5d1SDavid du Colombier 		return _POSIX_NO_TRUNC;
323e12c5d1SDavid du Colombier #else
333e12c5d1SDavid du Colombier 		return -1;
343e12c5d1SDavid du Colombier #endif
353e12c5d1SDavid du Colombier 	case _PC_VDISABLE:
363e12c5d1SDavid du Colombier #ifdef _POSIX_VDISABLE
373e12c5d1SDavid du Colombier 		return _POSIX_VDISABLE;
383e12c5d1SDavid du Colombier #else
393e12c5d1SDavid du Colombier 		return -1;
403e12c5d1SDavid du Colombier #endif
413e12c5d1SDavid du Colombier 	}
423e12c5d1SDavid du Colombier 	errno = EINVAL;
433e12c5d1SDavid du Colombier 	return -1;
443e12c5d1SDavid du Colombier }
453e12c5d1SDavid du Colombier 
463e12c5d1SDavid du Colombier long
fpathconf(int,int name)47*781103c4SDavid du Colombier fpathconf(int, int name)
483e12c5d1SDavid du Colombier {
493e12c5d1SDavid du Colombier 	return pathconf(0, name);
503e12c5d1SDavid du Colombier }
513e12c5d1SDavid du Colombier 
52