All pastes #103499 Raw Edit

unistd.h - OS X 10.4

public c v1 · immutable
#103499 ·published 2006-07-28 10:03 UTC
rendered paste body
/* * Copyright (c) 2000 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ *  * The contents of this file constitute Original Code as defined in and * are subject to the Apple Public Source License Version 1.1 (the * "License").  You may not use this file except in compliance with the * License.  Please obtain a copy of the License at * http://www.apple.com/publicsource and read it before using this file. *  * This Original Code and all software distributed under the License are * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the * License for the specific language governing rights and limitations * under the License. *  * @APPLE_LICENSE_HEADER_END@ *//* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved *//* * Copyright (c) 1989, 1993 *	The Regents of the University of California.  All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software *    must display the following acknowledgement: *	This product includes software developed by the University of *	California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors *    may be used to endorse or promote products derived from this software *    without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * *	@(#)unistd.h	8.2 (Berkeley) 1/7/94 */#ifndef _SYS_UNISTD_H_#define	_SYS_UNISTD_H_/* * Although we have saved user/group IDs, we do not use them in setuid * as described in POSIX 1003.1, because the feature does not work for * root.  We use the saved IDs in seteuid/setegid, which are not currently * part of the POSIX 1003.1 specification. */#ifdef	_NOT_AVAILABLE#define	_POSIX_SAVED_IDS	/* saved set-user-ID and set-group-ID */#endif#define	_POSIX_VERSION		200112L#define	_POSIX2_VERSION		200112L/* execution-time symbolic constants */				/* may disable terminal special characters */#ifndef _POSIX_VDISABLE#define	_POSIX_VDISABLE		((unsigned char)'\377')#endif#define _POSIX_THREAD_KEYS_MAX 128/* access function */#define	F_OK		0	/* test for existence of file */#define	X_OK		(1<<0)	/* test for execute or search permission */#define	W_OK		(1<<1)	/* test for write permission */#define	R_OK		(1<<2)	/* test for read permission */#ifndef _POSIX_C_SOURCE/* * Extended access functions. * Note that we depend on these matching the definitions in sys/kauth.h, * but with the bits shifted left by 8. */#define _READ_OK	(1<<9)	/* read file data / read directory */#define _WRITE_OK	(1<<10)	/* write file data / add file to directory */#define _EXECUTE_OK	(1<<11) /* execute file / search in directory*/#define _DELETE_OK	(1<<12)	/* delete file / delete directory */#define _APPEND_OK	(1<<13)	/* append to file / add subdirectory to directory */#define _RMFILE_OK	(1<<14)	/* - / remove file from directory */#define _RATTR_OK	(1<<15)	/* read basic attributes */#define _WATTR_OK	(1<<16)	/* write basic attributes */#define _REXT_OK	(1<<17)	/* read extended attributes */#define _WEXT_OK	(1<<18)	/* write extended attributes */#define _RPERM_OK	(1<<19)	/* read permissions */#define _WPERM_OK	(1<<20)	/* write permissions */#define _CHOWN_OK	(1<<21)	/* change ownership */#define _ACCESS_EXTENDED_MASK (_READ_OK | _WRITE_OK | _EXECUTE_OK | \				_DELETE_OK | _APPEND_OK | \				_RMFILE_OK | _REXT_OK | \				_WEXT_OK | _RATTR_OK | _WATTR_OK | _RPERM_OK | \				_WPERM_OK | _CHOWN_OK)#endif/* whence values for lseek(2) */#ifndef SEEK_SET#define	SEEK_SET	0	/* set file offset to offset */#define	SEEK_CUR	1	/* set file offset to current plus offset */#define	SEEK_END	2	/* set file offset to EOF plus offset */#endif	/* !SEEK_SET */#ifndef _POSIX_C_SOURCE/* whence values for lseek(2); renamed by POSIX 1003.1 */#define	L_SET		SEEK_SET#define	L_INCR		SEEK_CUR#define	L_XTND		SEEK_END#endif#ifndef _POSIX_C_SOURCEstruct accessx_descriptor {	unsigned ad_name_offset;	int ad_flags;	int ad_pad[2];};#define ACCESSX_MAX_DESCRIPTORS	100#define ACCESSX_MAX_TABLESIZE	(16 * 1024)#endif/* configurable pathname variables */#define	_PC_LINK_MAX		 1#define	_PC_MAX_CANON		 2#define	_PC_MAX_INPUT		 3#define	_PC_NAME_MAX		 4#define	_PC_PATH_MAX		 5#define	_PC_PIPE_BUF		 6#define	_PC_CHOWN_RESTRICTED	 7#define	_PC_NO_TRUNC		 8#define	_PC_VDISABLE		 9#ifndef _POSIX_C_SOURCE#define	_PC_NAME_CHARS_MAX	 10#define	_PC_CASE_SENSITIVE		 11#define	_PC_CASE_PRESERVING		 12#define _PC_EXTENDED_SECURITY_NP        13#define _PC_AUTH_OPAQUE_NP      14#endif/* configurable system strings */#define	_CS_PATH		 1#endif /* !_SYS_UNISTD_H_ */