⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unistd.h

📁 eCos操作系统源码
💻 H
字号:
#ifndef CYGONCE_ISO_UNISTD_H#define CYGONCE_ISO_UNISTD_H/*========================================================================////      unistd.h////      POSIX UNIX standard definitions////========================================================================//####ECOSGPLCOPYRIGHTBEGIN####// -------------------------------------------// This file is part of eCos, the Embedded Configurable Operating System.// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.//// eCos is free software; you can redistribute it and/or modify it under// the terms of the GNU General Public License as published by the Free// Software Foundation; either version 2 or (at your option) any later version.//// eCos is distributed in the hope that it will be useful, but WITHOUT ANY// WARRANTY; without even the implied warranty of MERCHANTABILITY or// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License// for more details.//// You should have received a copy of the GNU General Public License along// with eCos; if not, write to the Free Software Foundation, Inc.,// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.//// As a special exception, if other files instantiate templates or use macros// or inline functions from this file, or you compile this file and link it// with other works to produce a work based on this file, this file does not// by itself cause the resulting work to be covered by the GNU General Public// License. However the source code for this file must still be made available// in accordance with section (3) of the GNU General Public License.//// This exception does not invalidate any other reasons why a work based on// this file might be covered by the GNU General Public License.//// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.// at http://sources.redhat.com/ecos/ecos-license/// -------------------------------------------//####ECOSGPLCOPYRIGHTEND####//========================================================================//#####DESCRIPTIONBEGIN####//// Author(s):     nickg// Contributors:  // Date:          2000-06-01// Purpose:       This file provides the macros, types and functions//                required by POSIX 1003.1.// Description:   Much of the real contents of this file get set from the//                configuration (set by the implementation)// Usage:         #include <unistd.h>////####DESCRIPTIONEND####////======================================================================*//* CONFIGURATION */#include <pkgconf/isoinfra.h>          /* Configuration header *//* INCLUDES */#include <sys/types.h>/* This is the "standard" way to get NULL and size_t from stddef.h, * which is the canonical location of the definitions. */#define __need_NULL#define __need_size_t#include <stddef.h>#ifdef CYGINT_ISO_POSIX_TIMER_OPS# ifdef CYGBLD_ISO_POSIX_TIMER_OPS_HEADER#  include CYGBLD_ISO_POSIX_TIMER_OPS_HEADER# else#  ifdef __cplusplusextern "C" {#  endifextern unsigned intalarm( unsigned int /* seconds */ );extern int pause( void );#  ifdef __cplusplus}   /* extern "C" */#  endif# endif#endif#ifdef CYGINT_ISO_POSIX_SLEEP# ifdef CYGBLD_ISO_POSIX_SLEEP_HEADER#  include CYGBLD_ISO_POSIX_SLEEP_HEADER# else#  ifdef __cplusplusextern "C" {#  endifunsigned intsleep( unsigned int /* seconds */ );#  ifdef __cplusplus}   /* extern "C" */#  endif# endif#endif/* ------------------------------------------------------------------- *//* FIXME: The below was copied in verbatim by Nick, but needs to be grouped   by functionality and linked with interfaces as with everything else*//* CONSTANTS *//* Configuration constants */#define _POSIX_VERSION          199506L/* constants for access() */#define R_OK	1#define W_OK	2#define X_OK	4#define F_OK	8/* constants for lseek */#ifndef SEEK_SET#define SEEK_SET	0#define SEEK_CUR	1#define SEEK_END	2#endif #define	STDIN_FILENO	0#define	STDOUT_FILENO	1#define	STDERR_FILENO	2/* Variable names for sysconf()				*/#define _SC_AIO_LISTIO_MAX               1#define _SC_AIO_MAX                      2#define _SC_AIO_PRIO_DELTA_MAX           3#define	_SC_ARG_MAX		         4#define _SC_ASYNCHRONOUS_IO              5#define	_SC_CHILD_MAX		         6#define	_SC_CLK_TCK		         7#define _SC_DELAYTIMER_MAX               8#define	_SC_FSYNC		         9#define _SC_GETGR_R_SIZE_MAX            10#define _SC_GETPW_R_SIZE_MAX            11#define	_SC_JOB_CONTROL                 12#define _SC_LOGIN_NAME_MAX              13#define _SC_MAPPED_FILES                14#define _SC_MEMLOCK                     15#define _SC_MEMLOCK_RANGE               16#define _SC_MEMORY_PROTECTION           17#define _SC_MESSAGE_PASSING             18#define _SC_MQ_OPEN_MAX                 19#define _SC_MQ_PRIO_MAX                 20#define	_SC_NGROUPS_MAX		        21#define	_SC_OPEN_MAX		        22#define	_SC_PAGESIZE		        23#define _SC_PRIORITIZED_IO              24#define _SC_PRIORITY_SCHEDULING         25#define _SC_REALTIME_SIGNALS            26#define _SC_RTSIG_MAX                   27#define _SC_SAVED_IDS                   28#define _SC_SEMAPHORES                  29#define _SC_SEM_NSEMS_MAX               30#define _SC_SEM_VALUE_MAX               31#define _SC_SHARED_MEMORY_OBJECTS       32#define _SC_SIGQUEUE_MAX                33#define	_SC_STREAM_MAX		        34#define _SC_SYNCHRONIZED_IO             35#define _SC_THREADS                     36#define _SC_THREAD_ATTR_STACKADDR       37#define _SC_THREAD_ATTR_STACKSIZE       38#define _SC_THREAD_DESTRUCTOR_ITERATIONS 39#define _SC_THREAD_KEYS_MAX             40#define _SC_THREAD_PRIO_INHERIT         41#define _SC_THREAD_PRIO_PROTECT         42#define _SC_THREAD_PRIORITY_SCHEDULING  43#define _SC_THREAD_PROCESS_SHARED       44#define _SC_THREAD_SAFE_FUNCTIONS       45#define _SC_THREAD_STACK_MIN            46#define _SC_THREAD_THREADS_MAX          47#define _SC_TIMERS                      48#define _SC_TIMER_MAX                   49#define _SC_TTY_NAME_MAX                50#define	_SC_TZNAME_MAX		        51#define	_SC_VERSION		        52/* Variable names for pathconf()			*/#define _PC_ASYNC_IO                     1#define	_PC_CHOWN_RESTRICTED	         2#define	_PC_LINK_MAX		         3#define	_PC_MAX_CANON		         4#define	_PC_MAX_INPUT		         5#define	_PC_NAME_MAX		         6#define	_PC_NO_TRUNC		         7#define	_PC_PATH_MAX		         8#define	_PC_PIPE_BUF		         9#define _PC_PRIO_IO                     10#define _PC_SYNC_IO                     11#define	_PC_VDISABLE		        12/* Standard function prototypes */#ifdef __cplusplusextern "C" {#endifextern int 	link(const char *path1, const char *path2);extern int 	unlink(const char *path);extern int 	rmdir(const char *path);extern int 	access(const char *path, int amode);extern int 	chown(const char *path, uid_t owner, uid_t group);extern long 	pathconf(const char *path, int name);extern long 	fpathconf(int fd, int name);extern int 	pipe(int fildes[2]);extern int 	dup(int fd);extern int 	dup2(int fd,int fd2);extern int 	close(int fd);extern ssize_t 	read(int fd, void *buf, size_t nbyte);extern ssize_t 	write(int fd, const void *buf, size_t nbyte);extern off_t 	lseek(int fd, off_t offset, int whence);extern int      fsync( int fd );extern int	ftruncate(int fd, off_t length);extern int 	chdir(const char *path);extern char 	*getcwd(char *buf, size_t size);extern pid_t 	getpid(void);extern pid_t	getppid(void);extern uid_t 	getuid(void);extern uid_t 	geteuid(void);extern uid_t 	getgid(void);extern uid_t 	getegid(void);extern int 	setuid(uid_t uid);extern int 	setgid(uid_t uid);extern int 	getgroups(int setsize, uid_t *list);extern char	*getlogin(void);extern char	*cuserid(char *s);extern pid_t 	getpgrp(void);extern pid_t 	setsid(void);extern int 	setpgid(pid_t pid, pid_t pgid);extern char 	*getenv(const char *name);extern char 	*ctermid(char *s);extern char	*ttyname(int fd);extern int 	isatty(int fd);extern long 	sysconf(int name);extern int 	vfork(void);extern int 	execl(char *path,...);extern int 	execv(char *path,char **argv);extern int 	execle(char *path,...);extern int 	execlp(char *file,...);extern int 	execvp(char *file, char **argv);extern int 	execve(char *name, char **argv, char **envv);extern void 	_exit(int code);#ifdef __cplusplus}   /* extern "C" */#endif#endif /* CYGONCE_ISO_UNISTD_H multiple inclusion protection *//* EOF unistd.h */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -