C  
				POSIX  
				
					aio.h  
					arpa/inet.h  
					assert.h  
					complex.h  
					crypt.h  
					ctype.h  
					dirent.h  
					dlfcn.h  
					errno.h  
					fcntl.h  
					fenv.h  
					float.h  
					fmtmsg.h  
					fnmatch.h  
					ftw.h  
					fts.h  
					gdbm.h  
					glob.h  
					grp.h  
					iconv.h  
					inttypes.h  
					iso646.h  
					langinfo.h  
					libgen.h  
					limits.h  
					locale.h  
					malloc.h  
					math.h  
					monetary.h  
					mqueue.h  
					ndbm.h  
					netdb.h  
					net/if.h  
					netinet/in.h  
					netinet/tcp.h  
					nl_types.h  
					poll.h  
					pwd.h  
					regex.h  
					sched.h  
					search.h  
					semaphore.h  
					setjmp.h  
							shadow.h  
					signal.h  
					spawn.h  
					stdarg.h  
					stdatomic.h  
					stddef.h  
					stdint.h  
					stdio.h  
					stdlib.h  
					string.h  
					strings.h  
					sys/file.h  
					sys/inotify.h  
					sys/ipc.h  
							sys/ioctl.h  
					sys/mman.h  
					sys/msg.h  
					sys/resource.h  
					sys/select.h  
					sys/sem.h  
					sys/shm.h  
					sys/socket.h  
					sys/stat.h  
					sys/statvfs.h  
					sys/time.h  
					sys/times.h  
					sys/uio.h  
					sys/un.h  
					sys/utsname.h  
					sys/wait.h  
					syslog.h  
					tar.h  
					termios.h  
					tgmath.h  
					threads.h  
					time.h  
					ulimit.h  
					unistd.h  
					utime.h  
					utmpx.h  
					uchar.h  
					wchar.h  
					wctype.h  
					wordexp.h  
				 
				ODBC  
				LDAP  
				JNI  
			 
		 
		Schnittstelle zum Betriebssystem 
		POSIX 
		erweitert den plattformübergreifenden
		ANSI 
		C Standard um Schnittstellen zum Betriebsystem.
		Plattformspezifische Erweiterungen werden farblich gekennzeichnet.
		Grundsätzlich gilt: Je heller desto älter desto portabler.
		
			ANSI   C 
			Internationalisierung 
			Initialisierung 
			Nebenläufigkeit 
			Portable Operating System Interface 
			X/Open System Interfaces 
			Internet Protocol Version 6 
			Optionale Funktionen 
			Message Passing 
			Spawn Extension 
			X/Open STREAMS  (obsolet) 
			Trace Extension (obsolet) 
			System V Release 2 
			System V Release 4 
			BSD  Erweiterung 
			GNU  Erweiterung 
			Linux Erweiterung 
		 
		aio.h 
		Asynchrone Ein-/Ausgabe
		
		
		
		
		
		arpa/inet.h 
		Umrechnung von Internet-Adressen
		
			
					uint32_t 				htonl 		(uint32_t hostlong) 	Adresse  
					uint32_t 				ntohl 		(uint32_t netlong) 	 
					uint16_t 				htons 		(uint16_t hostshort) 	Kanalnummer  
					uint16_t 				ntohs 		(uint16_t netshort) 	 
					in_addr_t  	inet_addr 	(const char * cp) 	Dezimaldarstellung  
					int 					inet_aton 	(const char * cp,  struct in_addr  * in) 	 
					char * 					inet_ntoa 	(struct in_addr    in)  
					const char * 				inet_ntop 	(int  af, const void  * src, char * dst, socklen_t cnt)  
					int 					inet_pton 	(int  af, const char * src, void  * dst)  
					struct in_addr  	inet_makeaddr 	(int net, int host) 					Kombination  
					in_addr_t  	inet_lnaof 	(struct in_addr  in) 		Hostadresse  
					in_addr_t  	inet_netof 	(struct in_addr  in) 		Netzwerkadresse  
					in_addr_t  	inet_network 	(const char * cp) 					Netzwerkadresse  
			 
		
		assert.h 
		Zusicherung von Invarianten
		
			
					#define 	assert 		(expression, message) 	Abbruch, wenn Ausdruck false ergibt  
					#define 	static_assert 	(expression, message) 	Fehler, wenn Ausdruck false ergibt  
			 
		
		Das assert-Makro wird durch Definition von
		NDEBUG deaktiviert.
		Der ausgewertete Ausdruck darf keine Seiteneffekte aufweisen,
		andernfalls führt dies zu einem sogenannten
		Heisenbug :
		Einem Fehler, der nur im Produktivsystem auftritt.
		complex.h 
		Komplexe Arithmetik
		
		
			
					#define 	complex 	_Complex 		Real- und Imaginärteil  
					#define 	I 		 			Imaginärzahl  
					double 		cimag 		(double complex z) 	Imaginärteil  
					double 		creal 		(double complex z) 	Realteil  
					double 		cabs 		(double complex z) 	Abstand vom Ursprung  
					double 		carg 		(double complex z) 	Phasenwinkel  
					double 		c[a]sin[h] 	(double complex z) 	Sinus  
					double 		c[a]cos[h] 	(double complex z) 	Kosinus  
					double 		c[a]tan[h] 	(double complex z) 	Tangens  
					double complex 	conj 		(double complex z) 	Konjugat  
					double complex 	cexp 		(double complex z) 	Exponent  
					double complex 	cpow 		(double complex x,  double complex y) 	Potenz  
					double complex 	clog 		(double complex z) 	Natürlicher Logarithmus  
					double complex 	clog2 		(double complex z) 	Binärer Logarithmus  
					double complex 	clog10 		(double complex z) 	Dezimaler Logarithmus  
					double complex 	csqrt 		(double complex x) 	Quadratwurzel  
					double complex 	cproj 		(double complex z) 	Projiziert Punkt in die Riemannsche Zahlenkugel  
			 
		
		Die Funktionen gibt es jeweils auch in einer
		float- und long float-Variante.
		crypt.h 
		
		GNU 
		Erweiterung für Verschlüsselung von Passwörtern,
		binden mit -lcrypt
		
			
				struct 	crypt_data 		 			 
					char 		keysched[16 * 8] 	 			 
					char 		sb0[32768] 		 			 
					char 		sb1[32768] 		 			 
					char 		sb2[32768] 		 			 
					char 		sb3[32768] 		 			 
					char 		crypt_3_buf[14] 	 			 
					char 		current_salt[2] 	 			 
					long 		current_saltbits 	 			 
					int 		direction 		 			 
					int 		initialized 		 			 
			 
			
					char * 		crypt 			(const char * phrase, const char * setting) 					 
					char * 		crypt_r 		(const char * phrase, const char * setting,  struct crypt_data  * data) 		 
					char * 		crypt_rn 		(const char * phrase, const char * setting,  struct crypt_data  * data, int size) 	 
					char * 		crypt_ra 		(const char * phrase, const char * setting,  void ** data, int * size) 		 
					void 		setkey_r 		(const char * key,  struct crypt_data  * data) 	 
					void 		encrypt_r 		(char * block, int  edflag,  struct crypt_data  * data) 	 
			 
		
		ctype.h 
		
		Klassifizierung von Zeichen (Umgebungsvariable LC_CTYPE)
		
			
					int 		isdigit 	(int c) 		Ziffer ('0'...'9')  
					int 		isxdigit 	(int c) 		Hexadezimalziffer ('0'...'9','A'...'F','a'...'f')  
					int 		islower 	(int c) 		Kleinbuchstabe ('a'...'z')  
					int isupper 	(int c) 		Grossbuchstabe ('A'...'Z')  
					int 		isalpha 	(int c) 		Buchstabe ('A'...'Z','a'...'z')  
					int 		isalnum 	(int c) 		Alphanumerisches Zeichen ('0'...'9','A'...'Z','a'...'z')  
					int 		iscntrl 	(int c) 		Steuerzeichen (0...31, 127)  
					int 		isprint 	(int c) 		Druckbares Zeichen (32...126)  
					int 		isgraph 	(int c) 		Graphisches Zeichen ausser Leerzeichen (33...)  
					int 		ispunct 	(int c) 		Interpunktion (32...47, 58...63, 91...96, 123...126)  
					int 		isspace 	(int c) 		Leerraum (HT, LF, VT, FF, CR, SPACE)  
					int 		isblank 	(int c) 		Leerzeichen oder Tabulator (SPACE, HT)  
					int 		toupper 	(int c) 		Wandelt Klein- in Grossbuchstaben um  
					int 		tolower 	(int c) 		Wandelt Gross- in Kleinbuchstaben um  
			 
			
					int 		isdigit_l 	(int c, locale_t  locale) 		Ziffer ('0'...'9')  
					int 		isxdigit_l 	(int c, locale_t  locale) 		Hexadezimalziffer ('0'...'9','A'...'F','a'...'f')  
					int 		islower_l 	(int c, locale_t  locale) 		Kleinbuchstabe ('a'...'z')  
					int 		isupper_l 	(int c, locale_t  locale) 		Grossbuchstabe ('A'...'Z')  
					int 		isalpha_l 	(int c, locale_t  locale) 		Buchstabe ('A'...'Z','a'...'z')  
					int 		isalnum_l 	(int c, locale_t  locale) 		Alphanumerisches Zeichen ('0'...'9','A'...'Z','a'...'z')  
					int 		iscntrl_l 	(int c, locale_t  locale) 		Steuerzeichen (0...31, 127)  
					int 		isprint_l 	(int c, locale_t  locale) 		Druckbares Zeichen (32...126)  
					int 		isgraph_l 	(int c, locale_t  locale) 		Graphisches Zeichen ausser Leerzeichen (33...)  
					int 		ispunct_l 	(int c, locale_t  locale) 		Interpunktion (32...47, 58...63, 91...96, 123...126)  
					int 		isspace_l 	(int c, locale_t  locale) 		Leerraum (HT, LF, VT, FF, CR, SPACE)  
					int 		isblank_l 	(int c, locale_t  locale) 		Leerzeichen oder Tabulator (SPACE, HT)  
					int 		toupper_l 	(int c, locale_t  locale) 		Wandelt Klein- in Grossbuchstaben um  
					int 		tolower_l 	(int c, locale_t  locale) 		Wandelt Gross- in Kleinbuchstaben um  
					int 		isascii 	(int c) 							Zeichen aus dem  ASCII  Alphabet  
					int 		toascii 	(int c) 							Löscht höherwertige Bits  
					int 		_toupper 	(int c) 							Wandelt Klein- in Grossbuchstaben um  
					int 		_tolower 	(int c) 							Wandelt Gross- in Kleinbuchstaben um  
			 
		
		
			Klassifizierungs-Matrix 
			
				Zeichen 	NUL… 	HT 	LF 	VT 	FF 	CR 	SO… 	SP 	!… 	0…9 	:… 	A…Z 	[… 	a…z 	{… 					 
			 
			
				iscntrl 	 														 	 	 	 	 	 	 	 	 
				isspace 	 	 				 	 	 	 	 	 	 	 	 	 
				isblank 	 	 	 	 	 	 	 	 	 	 	 	 	 	 
				isprint 	 	 	 	 	 	 	 	 														 
				ispunct 	 	 	 	 	 	 	 	 		 	 	 	 	 	 	 
				isxdigit 	 	 	 	 	 	 	 	 	 	 	 	A…F 	 	a…f 	 	 
				isdigit 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 
				isupper 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 
				islower 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 
			 
		
		dirent.h 
		Iteration über Verzeichnisse
		
		dlfcn.h 
		Bindung dynamisch ladbarer Bibliotheken
		
			
					void * 		dlopen 		(const char * filename, int  flag) 	Bibliothek öffnen  
						void * 		dlsym 		(void *  handle, const char * symbol) 		Symbol laden  
						char * 		dlerror 	(void) 									Fehlerbeschreibung  
					int 		dlclose 	(void *  handle) 					Bibliothek schließen   
			 
		
		
		errno.h 
		
		Fehlercodes des Betriebssystems
		Die meisten Systemaufrufe liefern im Fehlerfall -1
		(oder NULL) als Rückgabewert und speichern in der
		Variable errno  einen Fehlercode.
		Generische Fehlerberschreibungen dazu liefert
		strerror() .
		
			
				extern thread_local int  errno  	Letzte Fehlernummer  
				extern char * 		program_invocation_name 		 	Name des Programms  
				extern char * 		program_invocation_short_name 		 	Nur mit GNU  Linker  
			 
		
		
		fcntl.h 
		Kontrolle von Dateien
		
			
					int  	creat 			(const char * path,            mode_t  mode) 											 
					int  	open 			(const char * path, int  flags, mode_t  mode) 								 
				int  	openat 			(int  dirfd, const char * path,                                 int  flags, ...) 				 
						int 				faccessat 		(int  dirfd, const char * path, int     mode,                    int  flags) 		 
						int 				fchmodat 		(int  dirfd, const char * path, mode_t  mode,                    int  flags) 		 
						int 				fchownat 		(int  dirfd, const char * path, uid_t  owner, gid_t  group,       int  flags)  
						int 				fstatat 		(int  dirfd, const char * path,       struct stat    * buf,      int  flags) 		 
						int 				utimensat 		(int  dirfd, const char * path, const struct timespec  times[2], int  flags) 		 
						int 				futimens 		(int  fd,                       const struct timespec  times[2]) 						 
						int 				posix_fadvise 		(int  fd, off_t, off_t, int) 													 
						int 				posix_fallocate 	(int  fd, off_t, off_t) 														 
						int  	posix_openpt 		(int  flags) 															 
			 
			
					struct 				flock 			 	 
						short l_type 		 	Art  
						short l_whence 		 	Richtung  
						off_t 				l_start 		 	Versatz  
						off_t 				l_len 			 	Länge  
						pid_t  	l_pid 			 	Prozessnummer  
			 
			
						int 				fcntl 			(int  fd, int  cmd, ...) 				 
						int 				fcntl 			(int  fd, int  cmd, long arg) 			 
					int 				fcntl 	(int  fd, int  cmd, struct flock  * lock) 	 
					int 				lockf 	(int  fd, int  cmd, off_t len) 					Verwendet fcntl   
			 
		
		
		
		
		
		
		
		
		
		
		fenv.h 
		Gleitkomma-Umgebung
		
			
							#pragma 	STD FENV_ACCESS 	OFF 					 
							#pragma 	STD FP_CONTRACT 	ON 					 
							#pragma 	STD CX_LIMITED_RANGE 	OFF 					 
					int 		fegetexcept 		(void) 					 
					int 		feenableexcept 		(                         int excepts) 	 
					int 		fedisableexcept 	(                         int excepts) 	 
					int 		feclearexcept 		(                         int excepts) 	 
					int 		fegetexceptflag 	(      fexcept_t * flagp, int excepts) 	 
					int 		feraiseexcept 		(                         int excepts) 	 
					int 		fesetexceptflag 	(const fexcept_t * flagp, int excepts) 	 
					int 		fetestexcept 		(                         int excepts) 	 
					int 		feholdexcept 		(      fenv_t * envp) 			 
					int 		fesetenv 		(const fenv_t * envp) 			 
					int 		fegetenv 		(      fenv_t * envp) 			 
					int 		feupdateenv 		(const fenv_t * envp) 			 
					int 		fegetround 		(void) 					 
					int 		fesetround 		(int rounding_direction) 		 
			 
		
		float.h 
		
		Gleitkomma-Typen
		Der Datentyp Float  repräsentiert
		eine Teilmenge der Rationalen Zahlen. Da nicht alle Prozessoren eine
		FPU .
		besitzen, sind Funktionen für Gleitpunktzahlen in eine Bibliothek namens
		libm ausgelagert. Beim Binden von Programen, die darauf
		zugreifen, muss die Option -lm gesetzt werden.
		
			
					#define 	DBL_MIN 		 					Kleinster darstellbarer Wert  
					#define 	DBL_MAX 		 					Größter darstellbarer Wert  
					… 		 			 					 
			 
		
		fmtmsg.h 
		Meldungen auf der Systemkonsole  (siehe syslog )
		
			
				int  		addseverity 	(int  severity, const char * s) 		Neuer Schweregrad  
				int  		fmtmsg 			(long  classification, 		Bitmaske  
				 					 				 const char * label, int  severity, 	Quelle und Schwere des Fehlers  
				 					 				 const char * text, 				Beschreibung  
				 					 				 const char * action, 				Maßnahmen zur Behebung  
				 					 				 const char * tag) 				Verweis auf die Dokumentation  
			 
		
		
		
		
		
		fnmatch.h 
		Muster für Dateinamen
		
		
		
		ftw.h 
		Traversierung des Verzeichnisbaums (File Tree Walk )
		
			
						int 			ftw 			(const char * path, fn1 ,            int  flags) 	 
						int 			nftw 			(const char * path, fn2 , int nopen, int  flags) 	 
			 
			
					typedef 		FTW 			 	 
						int 			base 			 	 
						int 			level 			 	 
			 
			
				int 			fn1 			(const char * path, const struct stat  * st, int  type) 						 
				int 			fn2 			(const char * path, const struct stat  * st, int  type,  struct FTW  * ftwbuf) 	 
			 
		
		
		
		fts.h 
		Traversierung des Verzeichnisbaums (File Tree Scan )
		
		Die BSD -Variante arbeitet analog zu
		readdir  mit wiederholten Aufrufen von fts_read.
		
			
				typedef 			FTS 		 	Zustandsautomat  
			 
			
					FTS  * 	fts_open 	(char * path_argv[], int  options,  int (*compar) (const FTSENT  **, const FTSENT  **))  
					int 				fts_close 	(FTS  * ftsp) 							 
			 
			
				struct _ftsent 		FTSENT 		 	 
					unsigned short  	fts_info  	Klassifizierung  
					char * 				fts_accpath 	 	Relativ zum CWD  
					char * 				fts_path 	 	Relativ zum Start  
					short 				fts_pathlen 	 	Länge des Pfades  
					char * 				fts_name 	 	Dateiname  
					short 				fts_namelen 	 	Länge des Namens  
					short 				fts_level 	 	Rekursionstiefe  
					 int  	fts_errno 	 	Fehlercode  
					long 				fts_number 	 	Nutzlast  
					void * 				fts_pointer 	 	Nutzlast  
					struct _ftsent  * 	fts_parent 	 	Elternverzeichnis  
					struct _ftsent  * 	fts_link 	 	Nächster Eintrag  
					struct _ftsent  * 	fts_cycle 	 	Zyklen  
					struct stat  * 	fts_statp 	 	Metadaten  
			 
			
					FTSENT  * 	fts_read 	(FTS  * ftsp) 							Nächster Eintrag  
					FTSENT  * 	fts_children 	(FTS  * ftsp,             int  instr) 	Verkettete Liste  
					int 				fts_set 	(FTS  * ftsp, FTSENT  * f, int  instr) 	 
			 
		
		
		
		
		
		gdbm.h 
		GNU  Datenbank Manager
		(GDBM  ).
		Alternative zu ndbm , binden mit -lgdbm
		
			
				typedef 		GDBM_FILE 		 												 
			 
			
				Datenzugriff  
				GDBM_FILE  	gdbm_open 		(const char * path, int block_size, int  flags, 			 
						 				 			 int  mode, void (* fatal_func) (const char *)) 				 
				void 				gdbm_close 		(GDBM_FILE  dbf) 								 
				datum  	gdbm_firstkey 		(GDBM_FILE  dbf) 								 
				datum  	gdbm_nextkey 		(GDBM_FILE  dbf, datum  key) 				 
				int 				gdbm_exists 		(GDBM_FILE  dbf, datum  key) 				 
				int 				gdbm_store 		(GDBM_FILE  dbf, datum  key, datum  content, int  flag) 	 
				datum  	gdbm_fetch 		(GDBM_FILE  dbf, datum  key) 				 
				int 				gdbm_delete 		(GDBM_FILE  dbf, datum  key) 				 
				Organisation  
				int 				gdbm_reorganize 	(GDBM_FILE  dbf) 								 
				void 				gdbm_sync 		(GDBM_FILE  dbf) 								 
				int 				gdbm_setopt 		(GDBM_FILE  dbf, int option, void * value, int size) 				 
				int 				gdbm_fdesc 		(GDBM_FILE  dbf) 								 
				int 				gdbm_count 		(GDBM_FILE  dbf, gdbm_count_t * pcount) 					 
				int 				gdbm_version_cmp 	(int const a[], int const b[]) 									 
				char * 				gdbm_strerror 		(gdbm_error  errno) 							 
				Import/Export  
				int 				gdbm_import 		(GDBM_FILE    dbf, const char * file, int  flag) 	 
				int 				gdbm_import_from_file 	(GDBM_FILE    dbf,       FILE * fp,   int  flag) 	 
				int 				gdbm_export  		(GDBM_FILE    dbf, const char * file, int  flag, 	 
						 				 			                                     int  mode) 				 
				int 				gdbm_export_to_file 	(GDBM_FILE    dbf,       FILE * fp) 						 
				int 				gdbm_load 		(GDBM_FILE  * dbf, const char * file, int  flag, 	 
						 				 			 int  meta_mask, unsigned long * errline) 				 
				int 				gdbm_load_from_file 	(GDBM_FILE  * dbf,       FILE * fp,   int  flag, 	 
						 				 			 int  meta_mask, unsigned long * errline) 				 
				int 				gdbm_dump 		(GDBM_FILE    dbf, const char * file, int  format, 	 
						 				 			                          int  flags, int  mode) 	 
				int 				gdbm_dump_to_file 	(GDBM_FILE    dbf,       FILE * fp,   int  format) 	 
			 
		
		
		
		
		
		
		
		glob.h 
		Muster für Pfade im Arbeitsverzeichnis
		
			
				typedef 	glob_t 		 	 
					size_t 		gl_pathc 	 	Anzahl der Pfade, die auf das Muster passen  
					char ** 	gl_pathv 	 	Zeiger auf eine Liste von passenden Pfaden  
					size_t 		gl_offs 	 	Initiale Größe  
			 
			
					int glob 	(const char  * pattern, 		 
							 		 		 int  flags, 					 
							 		 		 int  (* errfunc) (const char * epath, int  eerrno),  
							 		 		 glob_t  * glob) 					 
					void 		globfree 	(glob_t  * glob) 					 
			 
		
		
		
		
		
		grp.h 
		Gruppendatenbank
		
			
				struct 				group 		 			 
				char * 				gr_name 	 			Gruppenname  
					char * 					gr_passwd 	 			Passwort  
					gid_t  		gr_gid 		 			Nummer  
					char ** 				gr_mem 		 			Liste der Benutzernamen  
			 
			
					void 					setgrent 	(void) 						Datenbank öffnen  
					void 					endgrent 	(void) 						Datenbank schließen  
					struct group  * 	getgrnam 	(const char  * name) 	Gruppe für Name  
					struct group  * 	getgrgid 	(gid_t         group) 	Gruppe für Nummer  
					struct group  * 	getgrent 	(void) 											Nächster Eintrag  
					int 					getgrnam_r 	(const char  * name,      struct group  * gbuf,  char * buf, size_t len, struct group  ** gbufp)  
					int 					getgrgid_r 	(gid_t  group,            struct group  * gbuf,  char * buf, size_t len, struct group  ** gbufp)  
					int 					getgrent_r 	(                        struct group  * gbuf,  char * buf, size_t len, struct group  ** gbufp)  
					int 					fgetgrent_r 	(FILE  * stream,          struct group  * gbuf,  char * buf, size_t len, struct group  ** gbufp)  
					struct group  * 	fgetgrent 	(FILE  * stream)  
					int 					initgroups 	(const char * user, gid_t  group) 	 
					int 					getgrouplist 	(const char * user, gid_t  group,  gid_t  * groups, int * ngroups)  
					int 					getgroups 	(size_t size,       gid_t  * groups) 	 
					int 					setgroups 	(size_t size, const gid_t  * groups) 	 
			 
		
		iconv.h 
		Konversion von Zeichensätzen
		
			
				typedef 			iconv_t 	 										 
			 
			
					iconv_t  	iconv_open 	(const char * to, const char * from) 						Konstruktur  
					size_t 				iconv 		(iconv_t  cd, char ** inbuf,  size_t * inbytesleft 	Eingabepuffer  
					 				 		             char ** outbuf, size_t * outbytesleft) 				Ausgabepuffer  
					int 				iconv_close 	(iconv_t  cd) 						Destruktor  
			 
		
		inttypes.h 
		Arithmetik für Ganze Zahlen
		
		iso646.h 
		Alternative Schreibweise für Bit-Operatoren aus C++
		
			
					#define 		and 		&& 	Logischer UND Operator  
					#define 		and_eq 		&= 		Zuweisung mit UND Operator  
					#define 		bitand 		& 		Bitweise UND Verknüpfung  
					#define 		bitor 		| 		Bitweise ODER Verknüpfung  
					#define 		compl 		~ 		Bitumkehr  
					#define 		not 		! 		Logisches Komplement  
					#define 		not_eq 		!= 		Ungleichheit  
					#define 		or 		|| 		Logischer ODER Operator  
					#define 		or_eq 		|= 		Zuweisung mit ODER Operator  
					#define 		xor 		^ 		Exclusives logisches ODER  
					#define 		xor_eq 		^= 		Zuweisung mit exclusivem ODER  
			 
		
		langinfo.h 
		Lokalisierung der Sprache
		
		
		libgen.h 
		Trennung von Pfad- und Dateinamen
		
			
				char * 		basename 		(char * path) 		Entfernt Verzeichnispfad: /foo/bar/snafu.txt  
				char * 		dirname 		(char * path) 		Entfernt den Dateinamen:  /foo/bar/snafu.txt  
			 
		
		limits.h 
		Implementierungsspezifische Konstanten
		
		Die Minima und Maxima der eingebauten Ganzzahltypen
		hängen von der Architektur des Prozessors ab.
		Auf 32-Bit Architekturen deckt der Typ int typischerweise
		4 Milliarden Werte und Zeiger einen Adressraum von 4 Gigabyte ab.
		Die angegebenen Zahlen markieren das garantierte Minimum.
		
			
					#define 	CHAR_BIT 	8 			Immer 8 Bit  
					#define 	CHAR_MIN 	-128 			 
					#define 	CHAR_MAX 	127 			 
					#define 	SCHAR_MIN 	-128 			 
					#define 	SCHAR_MAX 	127 			 
					#define 	UCHAR_MAX 	255 			 
					#define 	SHRT_MIN 	-32768 			Mindestens 16 Bit  
					#define 	SHRT_MAX 	32767 			 
					#define 	USHRT_MAX 	65535 			 
					#define 	INT_MIN 	-32768 			Mindestens 16 Bit  
					#define 	INT_MAX 	32767 			 
					#define 	UINT_MAX 	65535 			64 Kilobyte  
					#define 	LONG_MIN 	-2147483648 		 
					#define 	LONG_MAX 	2147483647 		 
					#define 	ULONG_MAX 	4294967295 		4 Gigabyte (109 )  
					#define 	LLONG_MIN 	-9223372036854775808 	Mindestens 64 Bit  
					#define 	LLONG_MAX 	9223372036854775807 	 
					#define 	ULLONG_MAX 	18446744073709551615 	16 Exabyte (1018 )  
					#define 	MB_LEN_MAX 	4 			Oktette pro Multibyte Zeichen  
					#define 	MB_CUR_MAX 	4 			Dito in der aktuellen Sprache  
			 
		
		locale.h 
		Lokalisierung von Schreibweisen
		
			Währungssymbol 
			Datumsformat 
			Dezimaltrennzeichen 
			Ziffern-Gruppierung 
			Tausender-Trennzeichen 
		 
		
			
					#define 			LC_ALL 		 	 
				#define 		LC_COLLATE 	 	Sortierung (strcoll )  
				#define 		LC_CTYPE 	 	Klassifizierung (ctype.h )  
				#define 		LC_MESSAGES 	 	Nachrichten (catopen )  
					#define 			LC_MONETARY 	 	 
					#define 			LC_NUMERIC 	 	 
					#define 			LC_TIME 	 	 
			 
			
				struct 			lconv 		 	 
					char * 				decimal_point 	 	 
					char * 				grouping 	 	 
					char * 				thousands_sep 	 	 
					… 				 		 	 
			 
			
				struct lconv  * 	localeconv 	(void) 						 
			 
			
				typedef  			locale_t 	 						 
			 
			
					char * 				setlocale 	(int  category, const char * locale)  
			 
			
					locale_t  	newlocale 	(int  category, const char * locale, locale_t  base)  
					locale_t  	uselocale 	(locale_t  dataset) 	 
					locale_t  	duplocale 	(locale_t  dataset) 	 
					locale_t  	freelocale 	(locale_t  dataset) 	 
			 
		
		
		malloc.h 
		Dynamische Speicherverwaltung
		
			
				struct 	mallinfo 		 	 
					int 		arena 			 	Speicher im nicht-mmap Bereich  
					int 		ordblks 		 	Anzahl freier Blöcke  
					int 		smblks 			 	Anzahl freier Fastbin Blöcke  
					int 		hblks 			 	Anzahl per mmap eingebelendeter Bereiche  
					int 		hblkhd 			 	Speicher im mmap Bereich  
					int 		usmblks 		 	Maximal belegter Speicher  
					int 		fsmblks 		 	Speicher in freien Fastbin Blöcken  
					int 		uordblks 		 	Gesamter belegter Speicher  
					int 		fordblks 		 	Gesamter freier Speicher  
					int 		keepcost 		 	Oberster freigebbarer Speicher  
			 
			
					struct mallinfo  	mallinfo 	(void) 	Gibt Einblick in die dynamische Speicherverwaltung  
			 
		
		math.h 
		
		Arithmetik für den Coprozessor (-lm)
		
			
					double 	fabs 		(double x) 			Absolutwert  
					double 	copysign 	(double x, double y) 		fabs(x) und sgn(y) 
					double 	nan 		(const char * tagp) 		Nicht darstellbare Zahl  
				Vergleich  
					double 	fdim 		(double x, double y) 		Positive Differenz  
					double 	fmin 		(double x, double y) 		Kleinerer Wert  
					double 	fmax 		(double x, double y) 		Größerer Wert  
				Division  
					double 	fmod 		(double x, double y) 		Divisionsrest: x % y  
					double 	fma 		(double x, double y, double z) 	Schnelle Variante: x*y+z  
					double 	modf 		(double x, double * i) 		Nachkommastellen trennen  
					double 	remainder 	(double x, double y) 		Divisionsrest  
					double 	remquo 		(double x, double y, int * quo) …mit zusätzlichen Bits  
				Wurzelziehen  
					double 	sqrt 		(double x) 			Quadratwurzel  
					double 	cbrt 		(double x) 			Kubikwurzel  
				Trigonometrie  
					double 	[a]sin[h] 	(double x) 			(Arcus) Sinus (hyperbolicus)  
					double 	[a]cos[h] 	(double x) 			(Arcus) Cosinus (hyperbolicus)  
					double 	[a]tan[h] 	(double x) 			(Arcus) Tangens (hyperbolicus)  
					double 	atan2 		(double y, double x) 		Arcus Tangens für 2 Variablen  
					double 	hypot 		(double x, double y) 		Hypothenuse: sqrt(x²+y²)  
				Exponent  
					double 	pow 		(double x, double n) 		Potenz: xn   
					double 	exp 		(double x) 			Natürlichen Exponent: ex   
					double 	exp2 		(double x) 			Zweierpotenz: 2x   
					double 	expm1 		(double x) 			Zweierpotenz Minus Eins: 2x -1  
					double 	ldexp 		(double x, int exp) 		 
					double 	frexp 		(double x, int * exp) 		 
					double 	scalbln 	(double x, long int n) 		x * 2n   
				Logarithmus  
					double 	log 		(double x) 			Natürlicher Logarithmus: ln(x)  
					double 	log10 		(double x) 			Dezimaler Logarithmus: log10 (x)  
					double 	log2 		(double x) 			Binärer Logarithmus: log2 (x)  
					double 	logb 		(double x) 			Exponent einer Gleitpunktzahl  
					double 	log1p 		(double x) 			Logartihmus plus Eins: log(x + 1)  
					int 	ilogb 		(double x) 			 
				Rundung  
					double 	floor 		(double x) 			Nächstgrößere Ganzzahl  
					double 	ceil 		(double x) 			Nächstkleinere Ganzzahl  
					double 	trunc 		(double x) 			Dezimalstellen Abschneiden  
					double 	round 		(double x) 			Rundung  
					double 	rint 		(double x) 			 
					long 	lround 		(double x) 			 
					long 	lrint 		(double x) 			 
					long long llround 	(long double x) 		 
					long long llrint 	(long double x) 		 
					double 	nearbyint 	(double x) 			 
					double 	nextafter 	(double x,      double y) 	Nächste darstellbare Zahl in [x, y]  
					double 	nexttoward 	(double x, long double y) 	 
				Besondere-Funktionen  
					double 	erf 		(double x) 			Fehlerfunktion: 2/√π·∫0…x  e(-t·t)  dt  
					double 	erfc 		(double x) 			Komplementäre Fehlerfunktion  
					double 	tgamma 		(double x) 			Gammafunktion: ∫0…∞  t(x-1)  e-t  dt  
					double 	lgamma 		(double x) 			log(fabs(tgamma(x))) 
			 
			
					extern int signgam  					Vorzeichen der Gammafunktion  
					double 	j0 		(double x) 			Bessel-Funktionen erster Art  
					double 	j1 		(double x) 			 
					double 	jn 		(int n, double x) 		 
					double 	y0 		(double x) 			Bessel-Funktionen zweiter Art  
					double 	y1 		(double x) 			 
					double 	yn 		(int n, double x) 		 
				Klassifikations-Makros  
					int fpclassify 	(double x) 			Klassifikation  
					int 	signbit 	(double x) 			Vorzeichenbit gesetzt  
					int 	isnan 		(double x) 			Keine darstellbare Zahl  
					int 	isinf 		(double x) 			Unendlich große Zahl  
					int 	isnormal 	(double x) 			Keine besondere Zahl  
					int 	isfinite 	(double x) 			Endliche Zahl  
					int 	isgreater 	(double x, double y) 		x größer als y 
					int 	isgreaterequal 	(double x, double y) 		x größer oder gleich y 
					int 	isless 		(double x, double y) 		x kleiner als y 
					int 	islessequal 	(double x, double y) 		x kleiner oder gleich y 
					int 	islessgreater 	(double x, double y) 		x ungleich y 
					int 	isunordered 	(double x, double y) 		x oder y nicht darstellbar 
			 
		
		
		monetary.h 
		Landeswährung
		
			
					ssize_t 	strfmon 		(char * str, size_t max,                  const char  * format, ...) 					 
					ssize_t 	strfmon_l 		(char * str, size_t max, locale_t  locale, const char  * format, ...) 		 
			 
		
		
		mqueue.h 
		Nachrichten-Warteschlange (Echtzeit-Erweiterung)
		Weder Linux noch Solaris unterstützen
		POSIX 
		Message Queues, aber immerhin AIX.
		
			
				typedef mqd_t 	 					 
			 
			
				mqd_t mq_open 	(const char * name, int  oflag, mode_t  mode) 		Erzeugen  
				int 		mq_unlink 	(const char * name) 										Löschen  
				int 		mq_close 	(mqd_t  queue) 								Schließen  
			 
			
				struct mq_attr 	 	 
				long 		mq_flags 	 	Optionen  
				long 		mq_maxmsg 	 	Obergrenze  
				long 		mq_msgsize 	 	Größe  
				long 		mq_curmsgs 	 	Anzahl  
			 
			
				int 		mq_getattr 	(mqd_t  queue,       struct mq_attr  * attr)  
				int 		mq_setattr 	(mqd_t  queue, const struct mq_attr  * attr, struct mq_attr  * oldattr)  
				int 		mq_notify 	(mqd_t  queue, const struct sigevent  * event)  
				int 		mq_send 	(mqd_t  queue, const char * buf, size_t len, unsigned   priority)  
				ssize_t 	mq_receive 	(mqd_t  queue,       char * buf, size_t len, unsigned * priority)  
				int 		mq_timedsend 	(mqd_t  queue, const char * buf, size_t len, unsigned   priority, const struct timespec  * timeout)  
				ssize_t 	mq_timedreceive (mqd_t  queue,       char * buf, size_t len, unsigned * priority, const struct timespec  * timeout)  
			 
		
		ndbm.h 
		Name-Wert Datenbank (NDBM )
		
			
				typedef 	 	DBM 			 					 
			 
			
				DBM  * 	dbm_open 		(const char * path, int  oflag, mode_t  mode) 	 
				void 				dbm_close 		(DBM  * handle) 	 
				int 				dbm_error 		(DBM  * handle) 	 
				int 				dbm_clearerr 		(DBM  * handle) 	 
			 
			
				typedef 		datum 			 					 
				void * 				dptr 			 					 
				size_t 				dsize 			 					 
			 
			
				datum  	dbm_firstkey 		(DBM  * handle) 	 
				datum  	dbm_nextkey 		(DBM  * handle) 	 
				datum  	dbm_fetch 		(DBM  * handle, datum  key) 							 
				int 				dbm_delete 		(DBM  * handle, datum  key) 							 
				int 				dbm_store 		(DBM  * handle, datum  key, datum  content, int mode) 	 
			 
		
		
		netdb.h 
		Auflösung von Hostnamen via
		NSS .
		
		Lesen von /etc/hosts
		
			
				struct 				hostent 	 			 
					char * 				h_name 		 			 
						char ** 			h_aliases 	 			 
					int 				h_addrtype 	 			 
					int 				h_length 	 			 
						char ** 			h_addr_list 	 			 
			 
			
					void 					sethostent 	(int stayopen) 		 
					void 					endhostent 	(void) 			 
					struct hostent  *gethostent 	(void) 			 
					struct hostent  *gethostbyaddr 	(const void  * addr, int  len, int  type) 	 
					struct hostent  *gethostbyname 	(const char  * name) 										 
					struct hostent  *gethostbyname2 	(const char  * name, int  domain) 						 
					int 					gethostent_r 	(struct hostent  *  ret, char * buf, size_t len,  struct hostent  ** result, int *  err)  
					int 					gethostbyname_r (const char * name,  struct hostent  *  ret,   char * buf, size_t len,  struct hostent  ** result, int *  err) 	 
					int 					gethostbyname2_r (const char * name, int  af,  struct hostent  *  ret,   char * buf, size_t len,  struct hostent  ** result, int *  err) 		 
					void 					herror 		(const char * s) 													 
					const char * 				hstrerror 	(int  err) 											 
			 
		
		Lesen von /etc/services
		
		Lesen von /etc/networks
		
		Lesen von /etc/protocols
		
		
		
		
		
		net/if.h 
		Schnittstellen (ip link)
		
			
				struct if_nameindex 		 							 
					unsigned int 	if_index 		 							 
					char * 		if_name 		 							 
			 
			
					struct if_nameindex  *if_nameindex (void) 					 
					void 		if_freenameindex 	(struct if_nameindex  * ptr) 	 
					char * 		if_indextoname 		(unsigned int index, char * name) 				 
					unsigned int 	if_nametoindex 		(              const char * name) 				 
			 
		
		
		netinet/in.h 
		Internet-Adressen
		
			
					typedef 					in_addr_t 	uint32_t 	IPv4-Adresse  
					typedef 					in_port_t 	uint16_t 	Kanalnummer  
			 
			
					struct 						in_addr 	 		 
						in_addr_t  		s_addr 		 		IPv4-Adresse (32 Bit)  
			 
			
				struct 					sockaddr_in 	 		 
						sa_family_t  		sin_family 	 		AF_INET 
						in_port_t  		sin_port 	 		Kanalnummer  
						struct in_addr  		sin_addr 	 		IPv4-Adresse  
						unsigned char 					sin_zero[] 	 		Padding  
			 
			
					struct 						in6_addr 	 		 
						uint8_t 					s6_addr[16] 	 		IPv6-Adresse (128 Bit)  
			 
			
				struct 					sockaddr_in6 	 		 
						sa_family_t  		sin_family 	 		AF_INET6 
						in_port_t  		sin6_port 	 		Kanalnummer auf der Transportschicht  
						uint32_t 					sin6_flowinfo 	 		IPv6 Flussinformation  
						struct in6_addr  	sin6_addr 	 		IPv6 Adresse  
						uint32_t 					sin6_scope_id 	 		IPv6 scope-id  
			 
		
		netinet/tcp.h 
		Flags für TCP 
		
		nl_types.h 
		Internationalisierung (LC_MESSAGES)
		
			
				typedef 	nl_catd 	 								 
			 
			
				nl_catd 	catopen 	(const char * name, int 	flag) 	 
					char * 		catgets 	(nl_catd  catalog, int setno, int msgno, const char * message)  
					int 		catclose 	(nl_catd  catalog) 			 
			 
		
		
		poll.h 
		Aktivität auf Dateideskriptoren (siehe select ) 
		
			
					typedef 	nfds_t 				unsigned long int 		 
			 
			
				struct 	pollfd 				 				 
							int 		fd  		 				Dateideskriptor  
							short 		events 				 				Angeforderte Ereignisse  
							short 		revents 			 				Aufgetrene Ereignisse  
			 
			
					int 		poll 				(struct pollfd  * ufds, nfds_t nfds, int timeout) 	 
			 
		
		
		pwd.h 
		Benutzerdatenbank
		
			
				struct 				passwd 			 		 
				char * 				pw_name 		 		Benutzername  
					char *  				pw_passwd 		 		Passwort  
					uid_t  		pw_uid 			 		Benutzernummer  
					gid_t  		pw_gid 			 		Primäre Gruppe  
					char * 					pw_gecos 		 		Vor- und Nachname  
					char *  				pw_dir 			 		Benutzerverzeichnis  
					char *  				pw_shell 		 		Pfad der Shell  
			 
			
					void 					setpwent 		(void) 						Datenbank öffnen  
					void 					endpwent 		(void) 						Datenbank schließen  
					struct passwd  * 	getpwent 		(void) 						Nächster Eintrag  
					struct passwd  * 	getpwnam 		(const char  * name) 	Benutzer für Name  
					struct passwd  * 	getpwuid 		(uid_t  uid) 		Benutzer für Nummer  
					int 					getpwnam_r 		(const char  * name,      struct passwd  *  pwbuf,  char * buf, size_t len, struct passwd  ** pwbufp)  
					int 					getpwuid_r 		(uid_t  uid,              struct passwd  *  pwbuf,  char * buf, size_t len, struct passwd  ** pwbufp)  
					int 					getpwent_r 		(                        struct passwd  *  pwbuf,  char * buf, size_t len, struct passwd  ** pwbufp)  
					int 					fgetpwent_r 		(FILE  * stream,          struct passwd  *  pwbuf,  char * buf, size_t len, struct passwd  ** pwbufp)  
					struct passwd  * 	fgetpwent 		(FILE  * stream)  
					int 					putpwent 		(const struct passwd  * pwbuf, FILE  * stream)  
					int 					getpw 			(uid_t  uid, char * buf)  
			 
		
		regex.h 
		Reguläre Ausdrücke (siehe fnmatch  und glob )
		
			
					typedef 	regex_t 		 							Opake Datenstruktur  
						size_t 		re_nsub 		 							Unterausdrücke  
			 
			
						int regcomp 	(      regex_t  * preg, const char * regex, int  cflags)  
						void 		regfree 		(      regex_t  * preg) 		Destruktur  
			 
			
				typedef 	regmatch_t 		 							Element in der Trefferliste  
						regoff_t 	rm_so 			 							Start-Offset  
						regoff_t 	rm_eo 			 							End-Offset  
			 
			
				int regexec 	(const regex_t  * preg, const char * string,  size_t nmatch, regmatch_t  pmatch[], int  eflags)  
						size_t 		regerror 		(int  errcode, const regex_t  * preg, char * buf, size_t size)  
			 
		
		
		
		
		sched.h 
		Priorisierung des Prozesses
		
			
				struct sched_param 		 			 
					int 		sched_priority 		 			Priorität  
					int 		sched_ss_low_priority 	 			Geringe Priorität für Sporadic Server  Algorithmus  
					struct timespec sched_ss_repl_period  	Periode  
					struct timespec sched_ss_init_budget  	Initiales Budget  
					int 		sched_ss_max_repl 	 			Maximum  
			 
			
					int 		sched_yield 		(void) 												 
					int 		sched_setscheduler 	(pid_t  pid, int  policy, const struct sched_param  * param)  
					int 		sched_getscheduler 	(pid_t  pid) 									 
					int 		sched_setparam 		(pid_t  pid, const struct sched_param  * param) 	 
					int 		sched_getparam 		(pid_t  pid,       struct sched_param  * param) 	 
					int 		sched_setaffinity 	(pid_t  pid, unsigned int len, unsigned long * mask) 				 
					int 		sched_getaffinity 	(pid_t  pid, unsigned int len, unsigned long * mask) 				 
					int 		sched_get_priority_max 	(int  policy) 								 
					int 		sched_get_priority_min 	(int  policy) 								 
					int 		sched_rr_get_interval 	(pid_t  process, struct timespec  * tp) 			 
			 
		
		
		search.h 
		Globale Suchtabellen
		
			
				Globale Warteschlange  
					void 		insque 		(void * elem, void * prev) 							 
					void 		remque 		(void * elem) 									 
				Globaler Baum  
			 
			
					int 		(* compar) 	(void * lhs, void * rhs) 							 
					void 		(* action) 	(const void * node, VISIT  which, int depth) 		 
					void 		(* free) 	(void * node) 									 
			 
			
					void * 		tfind 		(const void * key, const void ** root, compar ) 	 
					void * 		tsearch 	(const void * key,       void ** root, compar ) 	 
					void * 		tdelete 	(const void * key,       void ** root, compar ) 	 
					void 		twalk 		(const void * root, action ) 			 
					void 		tdestroy 	(      void * root, free ) 				 
			 
			
				Globale Streutabelle  
			 
			
				typedef 	ENTRY 		 	 
					char * 		key 		 	 
					void * 		data 		 	 
			 
			
					int 		hcreate 	(size_t nelem) 									 
				ENTRY  *hsearch 	(ENTRY  item, ACTION  action) 		 
					void 		hdestroy 	(void) 										 
			 
			
				Lineare Suche  
					void * 		lfind 		(const void * key, const void * base,  size_t * nmemb, size_t size, compar )  
					void * 		lsearch 	(const void * key,       void * base,  size_t * nmemb, size_t size, compar )  
			 
			
				Lokale Streutabelle  
			 
			
				struct hsearch_data 	 	 
					ENTRY * 	table 		 	 
					unsigned int 	size 		 	 
					unsigned int 	filled 		 	 
			 
			
					int 		hcreate_r 	(size_t nelem, struct hsearch_data  * htab) 		 
					int 		hsearch_r 	(ENTRY    item, ACTION  action, 	 
					 		 		 ENTRY  ** ret, struct hsearch_data  * htab) 	 
					void 		hdestroy_r 	(              struct hsearch_data  * htab) 		 
			 
		
		
		
		semaphore.h 
		Wechselseitiger Ausschluss
		
			
				sem_t * sem_open 	(const char * name, int  oflag, mode_t  mode) 	Erzeugen  
					int 	sem_unlink 	(const char * name) 									Löschen  
					int 	sem_close 	(sem_t  * sem) 							Schließen  
					int 	sem_destroy 	(sem_t  * sem) 							Invalidieren  
					int 	sem_getvalue 	(sem_t  * sem, int * sval) 						Abfragem  
					int 	sem_init 	(sem_t  * sem, int  pshared, unsigned value) 	Initialisieren  
					int 	sem_post 	(sem_t  * sem) 							Inkrementieren  
					int 	sem_wait 	(sem_t  * sem) 							Blockieren  
					int 	sem_trywait 	(sem_t  * sem) 							…mit EAGAIN  
					int 	sem_timedwait 	(sem_t  * sem, const struct timespec  * timeout) 	…und Wartezeit  
			 
		
		
		
		setjmp.h 
		Sprünge auf dem Stack
		
			
				typedef 	jmp_buf 	 								 
			 
			
					int 		setjmp 		(jmp_buf  env) 				 
					void 		longjmp 	(jmp_buf  env, int val) 			 
			 
			
					typedef 	sigjmp_buf 	 								 
			 
			
					void 		sigsetjmp 	(sigjmp_buf  env, int savesigs) 	 
					void 		siglongjmp 	(sigjmp_buf  env, int val) 		 
					int 		_setjmp 	(jmp_buf  env) 		 
					void 		_longjmp 	(jmp_buf  env, int val) 	 
			 
		
		shadow.h 
		Passwortdatenbank (nicht standartisiert)
		
			
						struct 					spwd 			 		 
							char * 					sp_namp 		 		Benutzername  
							char * 					sp_pwdp 		 		Streuwert des Passworts, siehe crypt  
							long 					sp_lstchg 		 		Änderungsdatum (Tage seit der Epoche)  
							long 					sp_min 			 		Minimum Tage bis zur nächsten Änderung  
							long 					sp_max 			 		Maximum Tage bis zur nächsten Änderung  
							long 					sp_warn 		 		Anzahl Tage bis zur Ablaufwarnung  
							long 					sp_inact 		 		Anzahl Tage bis zur Kontosperrung  
							long 					sp_expire 		 		Datum der Kontosperrung  
							unsigned long 				sp_flag 		 		Reserviert  
			 
			
							void 					setspent 		(void) 							Öffnet die Schattendatenbank  
							void 					endspent 		(void) 							Schließt die Schattendatenbank  
					struct spwd  * 	getspent 		(void) 							Liest nächsten Eintrag  
					struct spwd  * 	fgetspent 		(FILE       * fp) 					Liest nächsten Datensatz aus Datei  
					struct spwd  * 	sgetspent 		(const char * s) 					Liest Datensatz aus Zeichenkette  
					struct spwd  * 	getspnam 		(const char * name) 					Liefert Datensatz zum Benutzernamen  
							int 					putspent 		(const struct spwd  * p, FILE * fp) 	Schreibt Datensatz in Datei  
							int 					lckpwdf 		(void) 							Sperrt die Schattendatenbank  
							int 					ulckpwdf 		(void) 							Entsperrt die Schattendatenbank  
					int 					getspent_r 		(                     struct spwd  * spbuf, char * buf, size_t buflen, struct spwd  ** spbufp)  
					int 					getspnam_r 		(const char  * name,  struct spwd  * spbuf, char * buf, size_t buflen, struct spwd  ** spbufp)  
					int 					fgetspent_r 		(FILE        * fp,    struct spwd  * spbuf, char * buf, size_t buflen, struct spwd  ** spbufp)  
					int 					sgetspent_r 		(const char  * s,     struct spwd  * spbuf, char * buf, size_t buflen, struct spwd  ** spbufp)  
			 
		
		signal.h 
		
		Signalverarbeitung
		Zum Kontext eines Prozesses gehört eine Bitmaske mit ignorierten
		und anstehenden Signalen sowie eine Signalbehandlungsroutine für
		jede Signalnummer. Mit der folgenden Schnittstelle kann ein Prozess
		bestimmte Signale ignorieren und eigene Behandlungsroutinen festlegen.
		
			
					int 			raise 		(                  int  sig) 										Sendet Signal an den eigenen Prozess  
					int 			kill 		(pid_t      pid,    int  sig) 					Sendet Signal an einen anderen Prozess  
					int 			killpg 		(int       pgrp,   int  sig) 										Sendet Signal an die Prozessgruppe  
					int 			pthread_kill 	(pthread_t  thread, int  sig) 	Sendet Signal an einen Thread im eigenen Prozess  
			 
			
				union sigval 	 		 		 
					int 			sival_int 	 		 
					void * 			sival_ptr 	 		 
			 
			
					int 			sigqueue 	(pid_t  pid, int  sig, const union sigval  v) 	Sendet Signal und Wert an einen Prozess  
			 
			
				typedef void (*sighandler_t) 	(int) 					 
			 
			
				sighandler_t  	signal 	(int  sig, sighandler_t  handler) 	Installiert Behandlungsroutine für ein Signal  
				sighandler_t  	sigset 	(int  sig, sighandler_t  handler) 
																									Dito, verwende besser sigaction   
					int 			sighold 	(int  sig) 						Sperrt Signal in der Signalmaske; verwende sigprocmask   
					int 			sigrelse 	(int  sig) 						Entsperrt Signal in der Signalmaske  
					int 			sigignore 	(int  sig) 						Ersetz Behandlungsroutine durch SIG_IGN  
				int 			sigpause 		(int  sig) 					Wartet auf ein Signal; verwende sigsuspend   
					int 			siginterrupt 	(int  sig, int flag) 					Erlaubt Unterbrechung von Systemaufrufen; verwende sigaction  mit SA_RESTART  
			 
			
				typedef 		sigset_t 	 										Bitmaske für Signale  
			 
			
					int 			sigemptyset 	(      sigset_t  * set) 					Entfernt Bits für alle Signale  
					int 			sigfillset 	(      sigset_t  * set) 					Setzt Bits für alle Signale  
					int 			sigaddset 	(      sigset_t  * set, int  sig) 	Setzt Bit für ein Signal  
					int 			sigdelset 	(      sigset_t  * set, int  sig) 	Entfernt Bit für ein Signal  
					int 			sigismember 	(const sigset_t  * set, int  sig) 	Prüft, ob das Bit gesetzt ist  
				int sigsuspend 	(const sigset_t  * set) 						Wartet auf eines der gesetzten Signale  
					int 			sigpending 	(      sigset_t  * set) 					Ermittelt anstehendes Signal  
					int 			sigwait 	(const sigset_t  * set, int  * sig) Wartet bis eines der Signale in der Bitmaske auftritt  
				int sigprocmask (int  how, 								Sperrt Signale in der Signalmaske aus. (außer SIGKILL  und SIGSTOP )  
							 			 		 const sigset_t  * set, 					Neue Signalmaske  
							 			 		       sigset_t  * oldset) 				Alte Signalmaske  
			 
			
				struct 		sigaction 		 									 
					void 			(* saandler) 		(int) 									Behandlungsroutine, standardmäßig SIG_DFL bzw. SIG_IGN  
					void 			(* sa_sigaction) 	(int, siginfo_t  *, void *) 			Behandlungsroutine, wenn sa_flags  = SA_SIGINFO gesetzt ist  
					sigset_t  			sa_mask  							Bitmaske für während der Behandlung zu blockierende Signale  
				int  			sa_flags  							Steuerung des Verhaltens  
			 
			
				int 		sigaction 		(int  sig, 					Registriert Behandlungsroutine für ein Signal  
							 			 			 const struct sigaction  * act, 		Neue Funktion  
							 			 			       struct sigaction  * oldact) 		Alte Funktion  
			 
			
				typedef 		siginfo_t 		 	 
					int 			si_signo 		 	Signalummmer  
					int 			si_code 		 	Signalcode  
					int 			si_errno 		 	Fehlercode  
					pid_t si_pid 		 	Sendender Prozess  
					uid_t si_uid 		 	Realer Benutzer  
					void * 			si_addr 		 	Adresse oder fehlerhafte Instruktion  
					int 			si_status 		 	Rückgabewert oder Signal  
					long 			si_band 		 	Ereignis für SIGPOLL  
					union sigval 		si_value 		 	Signalwert  
			 
			
					int 			sigwaitinfo 		(const sigset_t  * set, siginfo_t  * info) 	Legt Thread bis zum Eintreffen eines Signals schlafen  
					int 			sigtimedwait 		(const sigset_t  * set, siginfo_t  * info, 	 
							 			 			 const struct timespec  * timeout) 							 
					void 			psignal 		(                  int  sig, const char * s) 							Gibt die Beschreibung des Signals in Puffer aus  
					void 			psiginfo 		(const siginfo_t  * info,    const char * s) 						Gibt Informationen zum Ursprung des Signals aus  
			 
			
				typedef 		 stack_t 		 	 
					void * 			ss_sp 			 	Basisadresse  
					int 			ss_flags 		 	Flags  
					size_t 			ss_size 		 	Größe  
			 
			
					int 			sigaltstack 		(const stack_t  * ss, stack_t  * oss) 		Verwendet bei der Signalbehandlung einen anderen Stack  
			 
		
		Signalverarbeitung in Multithread-Prozessen ist etwas komplexer, siehe
		pthread_sigmask .
		
		
		
		
		spawn.h 
		stdarg.h 
		Variable Argumentlisten
		
			
				typedef va_list 	 																	 
			 
			
					void 		va_start 	(va_list  ap, last) 											 
					type 		va_arg 		(va_list  ap, type) 											 
					void 		va_end 		(va_list  ap) 												 
					void 		va_copy 	(va_list  dest, va_list  src) 							 
					int 		vprintf 	(                         const char  * format, va_list  ap) 			 
					int 		vfprintf 	(FILE  * fp,               const char  * format, va_list  ap) 	 
					int 		vsprintf 	(char * str,              const char  * format, va_list  ap) 			 
					int 		vsnprintf 	(char * str, size_t size, const char  * format, va_list  ap) 			 
					int 		vscanf 		(                         const char  * format, va_list  ap) 			 
					int 		vsscanf 	(const char * str,        const char  * format, va_list  ap) 			 
					int 		vfscanf 	(FILE *  fp,               const char  * format, va_list  ap) 	 
			 
		
		stdatomic.h 
		Atomare Operationen
		
			
				typedef atomic_flag 			 		 
			 
			
					bool 		atomic_flag_test_and_set 	(volatile atomic_flag  * obj) 		Setzt ein Bit und liefert den Vorwert  
					void 		atomic_flag_clear 		(volatile atomic_flag  * obj) 		Löscht ein Bit  
			 
			
				volatile A  
			 
			
					void 		atomic_init 			(volatile A  * obj, C desired) 		Initialisiert ein Objekt  
					bool 		atomic_is_lock_free 		(const v. A  * obj) 				Zeigt an, ob ein Objekt lockfrei ist  
					void 		atomic_store 			(volatile A  * obj, C desired) 		Speichert einen Wert in einem Objekt  
					C 		atomic_load 			(volatile A  * obj) 				Liest einen Wert aus einem Objekt  
					C 		atomic_exchange 		(volatile A  * obj) 				Tauscht einen Wert mit dem Wert eines Objekts  
					bool 		atomic_compare_exchange_strong 	(volatile A  * obj, C * expected, C desired) 	Tauscht einen Wert, wenn er den Erwartungen entspricht  
					bool 		atomic_compare_exchange_weak 	(volatile A  * obj, C * expected, C desired) 	 
					C 		atomic_fetch_add 		(volatile A  * obj, M arg) 			Addiert einen Wert  
					C 		atomic_fetch_sub 		(volatile A  * obj, M arg) 			Subtrahiert einen Wert  
					C 		atomic_fetch_or 		(volatile A  * obj, M arg) 			Logisches ODER  
					C 		atomic_fetch_xor 		(volatile A  * obj, M arg) 			Logisches XOR  
					C 		atomic_fetch_and 		(volatile A  * obj, M arg) 			Logisches UND  
					A 		kill_dependency 		(         A    y) 				 
			 
			
				typedef 	memory_order 			 								 
			 
			
					void 		atomic_thread_fence 		(memory_order  order) 			Generische Trennungsprimitive  
					void 		atomic_signal_fence 		(memory_order  order) 			Trennung zwischen Thread und Signalverarbeitung  
			 
		
		Die Funktionen für Flags und Objekte existieren noch in einer
		_explicit-Variante, die einen zusätzlichen
		memory_order-Parameter kennt.
		
		stddef.h 
		Generische Standard-Typen
		
			
						#define 	NULL 			((void *) 0) 	Zeiger nach Nirgendwo  
						#define 	offsetof 		(type, member) 	Position eines Felds in der Struktur  
					typedef 	size_t 			unsigned int 	Größe von Objekten im Speicher  
					typedef 	rsize_t 		unsigned int 	Dito aber mit garantierter Bereichsprüfung  
					typedef 	ptrdiff_t 		 		Abstand innerhalb eines Objekts  
					typedef 	wchar_t 		unsigned short 	16 Bit Unicode  
					typedef 	errno_t 		int 		Rückgabewert für Funktionen die errno liefern  
			 
		
		stdint.h 
		Generische Ganzzahl-Typen
		Weil die tatsächliche Größe der eingebauten Ganzzahltypen
		von der Architektur des Prozessors und dem verwendeten Übersetzer abhängen,
		verwendet man möglichst sinnvolle Aliase, die eine Mindestgröße für
		bestimmte Zwecke garantieren.
		
			
					#define 		SIZE_MAX 		0 … 264 -1 	Größe von Arrays  
					#define 		RSIZE_MAX 		 			Größe von Arrays mit Bereichsprüfung  
					#define 		PTRDIFF_MIN/MAX 	- … 263 -1 	Entfernung von Zeigern  
					#define 		SIG_ATOMIC_MIN/MAX 	- … 231 -1 	 
					#define 		WCHAR_MIN/MAX 		- … 231 -1 	 
					#define 		WINT_MIN/MAX 		0 … 232 -1 	 
					#define 		INT8_MIN/MAX 		-128 … 127 		 
					… 			 			 			 
					typedef 		[u]int8_t 		char 		8 Bit, 1 Oktett  
					typedef 		[u]int16_t 		short int 	16 Bit, 2 Oktette, Wort  
					typedef 		[u]int32_t 		long int 	32 Bit, 4 Oktette, Quad, Doppelwort  
					typedef 		[u]int64_t 		long long int 	64 Bit, 8 Oktette, Octa, Quadrupelwort  
				typedef 		[u]intmin_t 		char 		Kleinster Ganzzahltyp  
				typedef 		[u]intmax_t 		long long int 	Größter Ganzzahltyp  
			 
		
		stdio.h 
		Gepufferte Ein-/Ausgabe
		ANSI  
		C definiert die Datenstruktur FILE als
		plattformunabhängige Schnittstelle für den Dateizugriff.
		Intern werden Dateideskriptoren und die Grundoperationen
		open, read, write,
		close verwendet.
		
			
						#define 	EOF 		-1 		Symbol für Dateiende  
					#define 	BUFSIZ 		8192 		Optimale Puffergröße  
						#define 	FILENAME_MAX 	4096 		Maximale Pfadlänge  
						#define 	FOPEN_MAX 	8 		Offene Dateien  
						#define 	TMP_MAX 	25 		Temporäre Dateien (POSIX ) bzw. 10000 (XSI) temporäre Dateien  
			 
			
					typedef 	FILE 		 		Datenstruktur mit Schreib-/Lesepuffer  
			 
			
					extern FILE  * 	stdin 	 	Standardeingabe  
					extern FILE  * 	stdout 	 	Standardausgabe  
					extern FILE  * 	stderr 	 	Standardfehlerausgabe  
				Datenstrom  
				FILE  * 	fopen 		(const char * path, const char  * mode) Öffnet einen gepufferten Datenstrom  
				FILE  * 	freopen 	(const char * path, const char  * mode, FILE  * stream) 	Ändert den Zugriffsmodus eines bereits geöffneten Datenstroms  
				FILE  * 	tmpfile 	(void) 														Erzeugt eine temporäre Datei und löscht diese beim Schließen  
					void 			setbuf 		(FILE  * stream, char * buf) 							Jubelt dem Datenstrom einen Puffer der Größe BUFSIZ  unter  
					int 			setvbuf 	(FILE  * stream, char * buf, int  mode, size_t max) 	Ändert Pufferungsmodus  
					void 			setbuffer 	(FILE  * stream, char * buf,           size_t max) 		Jubelt dem Datenstrom einen Puffer beliebiger Größe unter  
					void 			setlinebuf 	(FILE  * stream) 										Verwendet zeilenweise Pufferung  
					int 			ferror 		(FILE  * stream) 										Prüft Fehlerstatus des Datenstroms  
					int 			feof 		(FILE  * stream) 										Prüft Erreichen des Endes des Datenstroms  
					void 			clearerr 	(FILE  * stream) 										Setzt den Fehlerstatus zurück  
					int 			fflush 		(FILE  * stream) 										Schreibt den Puffer hinaus  
					int 			fclose 		(FILE  * stream) 										Schließt den Datenstrom  
				Wahlfreier Zugriff  
					void 			rewind 		(FILE  * stream) 										Setzt Position auf den Dateianfang  
					long 			ftell 		(FILE  * stream) 										Liefert aktuelle Position, siehe ftello  
					int 			fseek 		(FILE  * stream, long  offset, int  whence) Setzt aktuelle Position  
					int 			fgetpos 	(FILE  * stream, fpos_t * pos) 							Bestimmt Position  
					int 			fsetpos 	(FILE  * stream, fpos_t * pos) 							Setzt Position  
				Lese- und Schreiboperationen  
					int 			getc 		(       FILE  * stream) 									Liest Zeichen aus Datenstrom  
					int 			fgetc 		(       FILE  * stream) 									Liest nächstes Zeichen aus Datenstrom  
					int 			putc 		(int c, FILE  * stream) 									Schreibt Zeichen in Datenstrom.  
					int 			fputc 		(int c, FILE  * stream) 									Schreibt Zeichen in Datenstrom  
					int 			ungetc 		(int c, FILE  * stream) 									Schiebt Zeichen in Puffer zurück  
					char * 			fgets 		(      char * buf, int    size,              FILE  * stream) 	Liest Zeile aus Datenstrom  
					int 			fputs 		(const char * buf,                           FILE  * stream) 	Schreibt Zeile in Datenstrom  
					size_t 			fread 		(      void * ptr, size_t max, size_t nmemb, FILE  * stream) 	Liest blockweise aus Datenstrom  
					size_t 			fwrite 		(const void * ptr, size_t max, size_t nmemb, FILE  * stream) 	Schreibt Block in Datenstrom  
				Standard Ein-/Ausgabe  
					int 			getchar 	(void) 													Liest ein Zeichen von der Standardeingabe  
					int 			putchar 	(int c) 												Schreibt ein Zeichen auf die Standardausgabe-  
				char * 			gets 		(      char * buf) 										Liest eine Zeile ohne Längenbeschränkung von der Standardeingabe  
					int 			puts 		(const char * buf) 										Schreibt eine Zeile auf die Standardausgabe  
					void 			perror 		(const char * buf) 										Gibt aktuelle Fehlermeldung auf stderr  aus  
				Formatierte Ein-/Ausgabe  
					int 			scanf 		(                              const char  * format, ...) 							Zerlegt formatierte Daten von der Standardeingabe  
					int 			printf 		(                              const char  * format, ...) 							Schreibt formatierte Daten auf die Standardausgabe  
					int 			fscanf 		(FILE        * stream,          const char  * format, ...) 		Zerlegt formatierte Daten aus Datenstrom  
					int 			fprintf 	(FILE        * stream,          const char  * format, ...) 		Schreibt formatierte Daten in Datenstrom  
					int 			sscanf 		(const char * str,             const char  * format, ...) 							Zerlegt formatierte Eingabe aus Zeichenkette  
					int 			sprintf 	(      char * str,             const char  * format, ...) 							Schreibt formatierte Ausgabe ohne Längenbeschränkung in Zeichenkette  
					int 			snprintf 	(      char * str, size_t max, const char  * format, ...) 							Schreibt formatierte Ausgabe in Zeichenkette  
			 
		
		
			
				Datenstrom  
					FILE  * 		fdopen 	(int           fd,      const char  * mode) 			Öffnet einen Datenstrom anhand eines Dateideskriptors  
						FILE  * 		popen 			(const char * command, const char  * mode) 										Öffnet Pipe zur Standardein- oder -ausgabe eines neuen Prozesses  
						FILE  * 		fmemopen 		(void       * buf, size_t max, const char  * mode) 								Operiert auf einem statischem Puffer  
						FILE  * 		open_memstream 		(char      ** ptr, size_t * sizeloc) 							Operiert auf einem dynamisch wachsenden Puffer  
					int  		fileno 	(FILE  * stream) 					Liefert den einem Datenstrom zu Grunde liegenden Dateideskriptor  
					int 			pclose 			(FILE  * stream) 										Schließt eine Pipe  
				Wahlfreier Zugriff  
					off_t 			ftello 			(FILE  * stream) 										Liefert aktuelle Position für große Dateien, siehe ftell  
					int 			fseeko 			(FILE  * stream, off_t offset, int  whence) Setzt aktuelle Position für große Dateien  
				Lese- und Schreiboperationen  
					int 			getw 			(       FILE  * stream) 									Liest Integer aus Datenstrom  
					int 			putw 			(int w, FILE  * stream) 									Schreibt Integer in Datenstrom.  
					ssize_t 		getline 		(char ** lineptr,  size_t * n,               FILE  * stream) 	Liest Zeile in einen dynamisch wachsenden Puffer  
					ssize_t 		getdelim 		(char ** lineptr,  size_t * n,    int delim, FILE  * stream) 	Liest Daten in einen dynamisch wachsenden Puffer  
				Formatierte Ein-/Ausgabe  
					int 			dprintf 		(int  fd, const char  * format, ...) 		Schreibt formatierte Daten in Datei  
					int 			vdprintf 		(int  fd, const char  * format, va_list) 	Schreibt formatierte Daten in Datei  
				Sperren  
					int 			ftrylockfile 	(       FILE  * stream) 				Sperrt Datenstrom für andere Threads, aber wartet nicht  
					void 			flockfile 		(       FILE  * stream) 				Sperrt Datenstrom für andere Threads  
					void 			funlockfile 	(       FILE  * stream) 				Gibt Datenstrom für andere Threads frei  
					int 			fgetc_unlocked 	(       FILE  * stream) 				Liest Zeichen aus Datenstrom  
					int 			fputc_unlocked 	(int c, FILE  * stream) 				Schreibt Zeichen in Datenstrom  
					int 			getc_unlocked 	(       FILE  * stream) 				Liest Zeichen aus Datenstrom. (Makro)  
					int 			putc_unlocked 	(int c, FILE  * stream) 				Schreibt Zeichen in Datenstrom. (Makro)  
					char * 			fgets_unlocked 	(      char * str, int max, FILE  * stream) 						Liest Zeile aus Datenstrom  
					int 			fputs_unlocked 	(const char * str,          FILE  * stream) 						Schreibt Zeile in Datenstrom  
					size_t 			fread_unlocked 	(      void * ptr, size_t max, size_t nmemb, FILE  * stream) 	Liest blockweise aus Datenstrom,  
					size_t 			fwrite_unlocked (const void * ptr, size_t max, size_t nmemb, FILE  * stream) 	Schreibt blockweise in Datenstrom  
					int 			getchar_unlocked (void) 												Liest ein Zeichen von der Standardeingabe  
					int 			putchar_unlocked (int c) 												Schreibt ein Zeichen auf die Standardausgabe-  
				Pfade  
					char * 		tmpnam 			(char * s) 																	Erzeugt einen temporären Dateinamen, verwende tmpfile   
					char * 		tempnam 		(const char * path, const char * prefix) 									Erzeugt einen temporären Dateinamen mit Präfix  
				Terminal  
					char * 			ctermid 		(char * s) 												Liefert Pfad des kontrollierenden Terminals  
			 
		
		
		
		
		
		stdlib.h 
		Gemischter Beutel Buntes
		
			
				Gleitpunkt-Arithmetik  
					double 				atof 		(const char * nptr) 					 
					int 				atoi 		(const char * nptr) 					 
					long 				atol 		(const char * nptr) 					 
					long long 			atoll 		(const char * nptr) 					 
					double 				strtod 		(const char * nptr, char ** endptr) 			 
					float 				strtof 		(const char * nptr, char ** endptr) 			 
					long double 			strtold 	(const char * nptr, char ** endptr) 			 
					long 				strtol 		(const char * nptr, char ** endptr, int base) 		 
					long long 			strtoll 	(const char * nptr, char ** endptr, int base) 		 
					unsigned long 			strtoul 	(const char * nptr, char ** endptr, int base) 		 
					unsigned long long 		strtoull 	(const char * nptr, char ** endptr, int base) 		 
				Ganzzahl-Arithmetik  
					int 				abs 		(int       j) 						Absolutwert  
					long int 			labs 		(long      j) 						 
					long long int 			llabs 		(long long j) 						 
			 
			
				typedef 			div_t 		 							 
					int 				quot 		 							Quotient  
					int 				rem 		 							Rest  
			 
			
					div_t  	div 		(int       numerator, int       denominator) 		Division  
					ldiv_t  	ldiv 		(long      numerator, long      denominator) 		mit Rest  
					lldiv_t  	lldiv 		(long long numerator, long long denominator) 		 
				Binärsuche  
					void 		qsort 		(                        void * base, size_t nmemb, size_t size, int (* compar) (const void *, const void *))  
					void * 		bsearch 	(const void * key, const void * base, size_t nmemb, size_t size, int (* compar) (const void *, const void *))  
				Dynamische Speicherverwaltung  
					void * 		malloc 		(size_t size) 						Reservieren  
					void * 		calloc 		(size_t nmemb, size_t size) 				Initialisieren  
					void * 		realloc 	(void * ptr,   size_t size) 				Vergrößern  
					void 		free 		(void * ptr) 						Freigeben  
					void * 		valloc 		(                                  size_t size) 	Seitenanfang  
					void * 		aligned_alloc 	(                size_t alignment, size_t size) 	Zweierpotenz  
				UTF-8  
					int 		mblen 		(const char * mb,                     size_t n) 			Anzahl Oktette  
					int 		wctomb 		(      char * mb,       wchar_t    wc          ) 	16-Bit – Multibyte  
					int 		mbtowc 		(wchar_t     * wc, const char    * mb, size_t n) 	Multibyte – 16-Bit  
					size_t 		mbstowcs 	(wchar_t     * wc, const char    * mb, size_t n) 	Multibyte – 16-Bit  
					size_t 		wcstombs 	(      char * mb, const wchar_t  * wc, size_t n) 	16-Bit – Multibyte  
				Programm ausführen  
						int 		system 		(const char * command) 		Kommando in Shell ausführen  
					void 		abort 		(void) 				SIGABRT  an sich selbst senden 
						int 		atexit 		(void (* function) (void)) 	Funktion für exit  registrieren  
					_Noreturn void 	exit 		(int status) 			_exit  aufrufen 
						_Noreturn void 	_Exit 		(int status) 			Direkt _exit  aufrufen  
						int 		at_quick_exit 	(void (* function) (void)) 	Funktion für quick_exit  registrieren  
					_Noreturn void 	quick_exit 	(int status) 			_exit  aufrufen 
						char * 		getenv 			(const char   * name) 		Wert der Umgebungsvariable liefern  
				Pseudo-Terminal  
					int 		grantpt 	(int  fd) 					Ändert Zugriffsrechte für Pseudo-Terminal  
					int 		unlockpt 	(int  fd) 					Entkoppelt Pseudo-Terminal vom Master  
					char * 		ptsname 	(int  fd) 					Liefert den Pfad eines Pseudo-Terminals  
					int 		ptsname_r 	(int  fd, char * buf, size_t buflen) 	Liefert den Pfad eines Pseudo-Terminals in einen Puffer  
				Pseudo-Zufallszahlen  
				int 		rand_r 		(unsigned int * seedp) 					Sichere Variante von rand  
					void 		srand 		(unsigned int seed) 					Initialisierung  
					void 		srandom 	(unsigned int seed) 					 
					long 		random 		(void) 							Ganzzahl  
					char * 		initstate 	(unsigned int seed, char * state, size_t n)  
					char * 		setstate 	(                   char * state) 			 
					void 		srand48 	(long int seedval) 					 
					unsigned short * seed48 	(unsigned short seed16v[3]) 				 
					void 		lcong48 	(unsigned short param[7]) 				   
					double 		drand48 	(void) 							Gleitpunktzahl  
					double 		erand48 	(unsigned short xsubi[3]) 				Gleitpunktzahl  
					long 		lrand48 	(void) 							Nächste Positive  
					long 		nrand48 	(unsigned short xsubi[3]) 				Positive Zahl  
					long 		mrand48 	(void) 							Vorzeichenbehaftet  
					long 		jrand48 	(unsigned short xsubi[3]) 				Vorzeichenbehaftet  
				void 	setkey 		(const char * key) 					Schlüssel für encrypt   
				Radix-64  
					long 		a64l 		(const char * s) 					Radix-64  
					char * 		l64a 		(long value) 						Radix-64  
				Pfad  
					char * 				realpath 	(const char * path, char * resolved_path) 				Absoluter Pfad  
					char * 				mkdtemp 	(char *  template) 			Temporäres Verzeichnis  
					int  	mkstemp 	(char *  template) 			Temporäre Datei  
					int  	mkstemps 	(char *  template, int suffixlen) 	… mit Suffix  
					int  	mkostemp 	(char *  template,                int  flags) 	… mit Optionen  
					int  	mkostemps 	(char *  template, int suffixlen, int  flags) 	… mit Optionen und Suffix  
				Umgebung  
					int 		putenv 			(      char   * string) 	Setzt Variable als name=wert  
					int 		setenv 			(const char   * name, const char * value, int overwrite)  
					int 		unsetenv 		(const char   * name) 		Entfernt eine Variable aus der Umgebung  
					int 		clearenv 		(void) 				Entfernt alle Variablen aus der Umgebung  
				Argument  
					int 		getsubopt 		(char        ** optionp, 	Kommaseparierte Unteroptionen; siehe getopt   
							 		 			 char * const * tokens, 	 
							 		 			 char        ** valuep) 	 
			 
		
		
		stdnoreturn.h 
		
		Schlüsselwort für Funktionen ohne Rücksprung
		(abort  und
		exit )
		
			
				#define 	noreturn 	_Noreturn 	Definition für das Schlüsselwort  
			 
		
		string.h 
		
		Zeichenketten
		Eine Zeichenkette 
		besteht aus einer Reihung von Oktetten, die durch ein
		NUL-Zeichen abgeschlossen wird. C kümmert
		sich nicht um den Zeichensatz.
		
			
					size_t 		strlen 		(const char * s) 					Länge der Zeichenkette  
					size_t 		strxfrm 	(char * dest, const char * src, size_t n) 		Präfix lokalisieren  
			 
			
					char * 		strcpy 		(char * dest, const char * src) 			Unsicher kopieren  
					char * 		strncpy 	(char * dest, const char * src, size_t n) 		Präfix kopieren  
					char * 		strcat 		(char * dest, const char * src) 			Zeichnkette anhängen  
					char * 		strncat 	(char * dest, const char * src, size_t n) 		Präfix anhängen  
			 
			
					char * 		strchr 		(const char * s, int c) 				Zeichen suchen  
					char * 		strrchr 	(const char * s, int c) 				Rückwärts suchen  
					char * 		strpbrk 	(const char * s, const char * accept) 			Zeichen aus Menge suchen  
					size_t 		strspn 		(const char * s, const char * accept) 			Länge des Präfixes  
					size_t 		strcspn 	(const char * s, const char * reject) 			…ohne diese Zeichen  
					char * 		strstr 		(const char * haystack, const char * needle) 		Zeichenkette suchen  
			 
			
					int 		strcmp 		(const char * s1, const char * s2) 			Lexikographisch,  
					int 		strncmp 	(const char * s1, const char * s2, size_t n) 		Ein Präfix,  
				int 	strcoll 	(const char * s1, const char * s2) 			Lokalisiert  oder 
			 
			
					char * 		strtok 		(char *  s, const char * delim) 			Zeichenkette trennen, Verwende strtok_r  
			 
			
				char * 	strerror 	(int errnum) 						Fehlercode  beschreiben, siehe strerror_r 
			 
			
					void * 		memset 		(void * s,                      int c, size_t n) 	Speicherbereich mit Zeichen füllen  
					void * 		memfrob 	(void * s,                             size_t n) 	Speicherbereich mit XOR  42 behandeln  
			 
			
					void * 		memcpy 		(void * dest, const void * src,        size_t n) 	Disjunkten Speicherbereich kopieren  
					void * 		memccpy 	(void * dest, const void * src, int c, size_t n) 	Dito, aber bei einem bestimmten Zeichen stoppen  
					void * 		mempcpy 	(void * dest, const void * src,        size_t n) 	Dito, Zeiger auf das Ende des Zielspeichers liefern  
					void * 		memmove 	(void * dest, const void * src,        size_t n) 	Überlappenden Speicherbereich kopieren  
			 
			
					void * 		memchr 		(const void * s,                int c, size_t n) 	Zeichen im Speicherbereich suchen  
					void * 		memrchr 	(const void * s,                int c, size_t n) 	Dito, von hinten her  
					void * 		rawmemchr 	(const void * s,                int c) 			Optimal, wenn das Zeichen garantiert vorkommt  
					int 		memcmp 		(const void * s1, const void * s2,     size_t n) 	Speicherbereiche vergleichen  
					void * 		memmem 		(const void * haystack, size_t haystacklen, const void * needle, size_t needlelen)  
			 
			
					size_t 		strnlen 	(const char * s, size_t n) 				Länge des Präfix  
			 
			
					char * 		stpcpy 		(char * dest, const char * src) 			Dito, Zeiger auf Ende  
					char * 		stpncpy 	(char * dest, const char * src, size_t n) 		…Zeiger auf Ende  
					size_t 		strlcpy 	(char * dest, const char * src, size_t n) 		Terminierung garantiert  
					size_t 		strlcat 	(char * dest, const char * src, size_t n) 		Mit Terminierung anhängen  
			 
			
					char * 		strchrnul 	(const char * s, int c) 				Dito, aber nie NULL  
					char * 		strrchrnul 	(const char * s, int c) 				…aber nie NULL  
					char * 		strcasestr 	(const char * haystack, const char * needle) 		…ohne groß/klein  
			 
			
				int 	strverscmp 	(const char * s1, const char * s2; 			Numerisch sortieren  
			 
			
					char * 		strtok_r 	(char *  s, const char * delim, char ** save) 		…Position in save  
					char * 		strsep 		(char ** s, const char * delim) 			…Position in s  
			 
			
					char * 		strdup 		(const char * s) 					Zeichenkette auf Heap  
					char * 		strdupa 	(const char * s) 					Zeichenkette auf Stack  
					char * 		strndup 	(const char * s, size_t n) 				Präfix auf Heap kopieren  
					char * 		strndupa 	(const char * s, size_t n) 				Präfix auf Stack kopieren  
					char * 		strfry 		(char * s) 						Anagramm bilden  
			 
			
					int 		strerror_r 	(int errnum, char * buf, size_t n) 			Fehlercode  im Puffer 
					char * 		strsignal 	(int signum) 						Signal  beschreiben 
			 
		
		strings.h 
		Vergleich von Zeichenketten
		
			
					int 		strcasecmp 	(const char * s1, const char * s2) 		Zeichenkette vergleichen  
					int 		strcasecmp_l 	(const char * s1, const char * s2,           locale_t  locale)  
					int 		strncasecmp 	(const char * s1, const char * s2, size_t n) 	Präfix vergleichen  
					int 		strncasecmp_l 	(const char * s1, const char * s2, size_t n, locale_t  locale)  
					int 		ffs 		(int i) 					Index des ersten Bits  
					int 		ffsl 		(long i) 					 
					int 		ffsll 		(long long i) 					 
			 
		
		sys/file.h 
		BSD  Sperr-Mechanismus
		
			
					int 		flock 			(int  fd, int  operation) 				Legt Sperre auf Dateideskriptor, nicht zu verwechseln mit lockf  
			 
		
		
		sys/inotify.h 
		Dateisystem-Ereignisse
		
		Man fügt einem Überwacher-Objekt Pfade hinzu und liest
		 mit read aufgetretene Ereignisse aus.
		
			
				struct inotify_event 	 	 
					int  	wd 		 	Pfad-Deskriptor  
					uint32_t 	mask 			 	Aufgetretene Ereignisse  
					uint32_t 	cookie 			 	Cookie für zusammen gehörende Ereignisse (rename)  
					uint32_t 	len 			 	Länge des zusätzlichen Speichers  
					char 		name[] 			 	Optionaler Speicherplatz für Pfadname  
			 
			
				int 	inotify_init 		(void) 													Liefert Deskriptor für einen neuen Überwacher  
					int 		inotify_init1 		(int  flags) 								 
				int 		inotify_add_watch 	(int  fd, const char * path, uint32_t  mask) 	Fügt einen Pfad hinzu  
					int 		inotify_rm_watch 	(int  fd, int  wd) 						Entfernt einen Pfad  
			 
		
		
		
		sys/ioctl.h 
		
		Spezialkommandos für die Ein/Ausgabe (nicht standartisiert)
		
			
							int 		ioctl 		(int d, int request, ...) 	 
			 
		
		sys/ipc.h 
		Interprozesskommunikation (System V)
		
			
				struct 			ipc_perm 	 	 
					key_t  	__key 		 	Schlüssel für {sem|msg|shm}get  
					uid_t  	uid 		 	Eigentümer  
					gid_t  	gid 		 	Eigentümergruppe  
					uid_t  	cuid 		 	Erzeuger  
					gid_t  	cgid 		 	Erzeugergruppe  
					unsigned short 			mode 		 	Zugriffsrechte  
					unsigned short 			__seq 		 	Fortlaufende Nummer  
			 
			
				key_t 			ftok 		(const char * path, int salt) 	Hashwert aus Pfad ableiten  
			 
		
		
		
		
		sys/mman.h 
		
		Speicherverwaltung
		Memory Mapping 
		wird verwendet, um (Teile von) Dateien
		in den Adressraum des Prozesses einzublenden.
		Die Echtzeit-Erweiterungen erlauben es,
		Datei-Deskriptoren für die Verwendung mit
		mmap 
		zu öffnen.
		Moderne Prozessoren unterstützen
		Memory Protection Keys ,
		um Schreibzugriffe auf bestimmte Speicherbereiche zu unterbinden.
		
			
				void * mmap 				(      void *  addr, size_t len, int  prot, int  flags, 	 
							 	 				                                int  fd, off_t offset) 		 
					int 	munmap 				(      void *  addr, size_t len) 						 
					int 	mprotect 			(      void *  addr, size_t len, int  prot) 		 
					int 	msync 				(      void *  addr, size_t len, int  flags) 		 
					int 	mlock 				(const void *  addr, size_t len) 						 
					int 	munlock 			(const void *  addr, size_t len) 						 
					int 	mlockall 			(      int  flags) 							 
					int 	munlockall 			(void) 												 
					int 	mincore 			(      void *  addr, size_t len, unsigned char * vec) 			 
					void * 	mremap 				(      void *  addr, size_t len, size_t new_len, int  flags) 	 
					int 	remap_file_pages 		(      void *  addr, size_t len, int  prot, 		 
							 	 				                                ssize_t pgoff,  int  flags) 		 
					int 	madvise 			(      void *  addr, size_t len, int  advice) 		 
			 
			
				struct posix_typed_mem_info 		 	 
					size_t 	posix_tmi_length 		 	 
			 
			
					int 	posix_madvise 			(      void *  addr, size_t len, int  advice) 		 
					int 	posix_mem_offset 		(const void *  addr, size_t len, off_t * off, 				 
							 	 				                    size_t * contig_len, int  * fd) 			 
					int 	posix_typed_mem_open 		(const char * name, int  oflag, int  tflag) 		 
					int 	posix_typed_mem_get_info 	(int  fd, struct posix_typed_mem_info  * info) 	 
			 
			
					int 	shm_open 	(const char * name, int  oflag, mode_t  mode) 		 
					int 	shm_unlink 	(const char * name) 										 
			 
			
				int 	pkey_alloc 	(unsigned long  flags, unsigned long  rights) 			 
					int 		pkey_mprotect 	(void *  addr, size_t len, int  prot, int  pkey); 	 
					unsigned long 	pkey_get 	(int  pkey); 										 
					int 		pkey_set 	(int  pkey, unsigned long  access_rights); 			 
					int 		pkey_free 	(int  pkey); 										 
			 
		
		
		
		
		
		
		
		
		
			Reserviert
		
		
		
		sys/msg.h 
		Nachrichten-Warteschlangen (System V Message Queues)
		
			
				struct 				msqid_ds 	 	 
					struct ipc_perm msg_perm 	 	Zugriffsrechte  
					time_t  		msg_stime 	 	Sendezeit  
					time_t  		msg_rtime 	 	Empfangszeit  
					time_t  		msg_ctime 	 	Änderungszeit  
					msgqnum_t 				msg_qnum 	 	Nachrichten  
					msglen_t 				msg_qbytes 	 	Kapazität  
					pid_t  		msg_lspid 	 	Sender  
					pid_t  		msg_lrpid 	 	Empfänger  
			 
			
				int 		msgget 		(key_t  key, int  flags) 						Erzeugen  
					int 		msgctl 		(int  id, int  cmd, struct msqid_ds  * buf) 	Ändern  
					int 		msgsnd 		(int  id, void * msg, size_t len,                int  msgflg)  
					int 		msgrcv 		(int  id, void * msg, size_t len, long int type, int  msgflg)  
			 
		
		
		sys/resource.h 
		Zuteilung von Betriebsmitteln
		
			
				int 				getpriority 	(int  which, id_t id) 			 
				int 				setpriority 	(int  which, id_t id, int priority) 	 
			 
			
					struct 		rlimit 		 	 
					rlim_t 		rlim_cur 	 	Aktuelle Grenze  
					rlim_t 		rlim_max 	 	Harte Grenze, Maximum für rlim_cur   
			 
			
				int  	getrlimit (int  what,       struct rlimit  * limits) 			 
				int 				setrlimit 				(int  what, const struct rlimit  * limits) 			 
			 
			
				struct 		rusage 	 		 
					struct timeval ru_utime Rechenheit des Besitzers  
					struct timeval ru_stime Rechenheit des Systems  
					long 			ru_maxrss 	 	Maximale  in Kilobyte  
					long 			ru_ixrss 	 	@todo integral shared memory size  
					long 			ru_idrss 	 	@todo integral unshared data size  
					long 			ru_isrss 	 	@todo integral unshared stack size  
					long 			ru_minflt 	 	Weiche Seitenfehler  
					long 			ru_majflt 	 	Harte Seitenfehler  
					long 			ru_nswap 	 	Swap-Operationen  
					long 			ru_inblock 	 	Lese-Operationen  
					long 			ru_oublock 	 	Schreib-Operationen  
					long 			ru_msgsnd 	 	Gesendete IPC-Nachrichten  
					long 			ru_msgrcv 	 	Empfangene IPC-Nachrichten  
					long 			ru_nsignals 	 	Empfangene Signale  
					long 			ru_nvcsw 	 	Freiwillige Kontextwechsel  
					long 			ru_nivcsw 	 	Unfreiwillige Kontextwechsel  
			 
			
					int 			getrusage 	(int  who, struct rusage  * usage) 			Liefert Statistik über verbrauchte Ressourcen  
			 
		
		
		
		
		
		sys/select.h 
		Aktivität auf Dateideskriptoren (siehe poll )
		
			
				typedef 	fd_set 			 									Menge von Dateideskriptoren  
			 
			
					#define 	FD_SETSIZE 		 									Maximale Anzahl an Dateideskriptoren  
					#define 	FD_ZERO 		(        fd_set  * set) 				Löscht alle Deskriptoren  
					#define 	FD_CLR 			(int  fd, fd_set  * set) 	Entfernt einen Deskriptor  
					#define 	FD_SET 			(int  fd, fd_set  * set) 	Fügt einen Deskriptor hinzu  
					#define 	FD_ISSET 		(int  fd, fd_set  * set) 	Prüft, ob ein Deskriptor enthalten ist  
					int 		select 			(int n,  fd_set  * readfds, 			 
							 		 			         fd_set  * writefds, 			 
							 		 			         fd_set  * exceptfds, 			 
							 		 			 struct timeval  * timeout) 			 
					int 		pselect 		(int n,  fd_set  * readfds, 			 
							 		 			         fd_set  * writefds, 			 
							 		 			         fd_set  * exceptfds, 			 
							 		 			 struct timeval  * timeout) 			 
							 		 			 const sigset_t  * sigmask) 		 
			 
		
		sys/sem.h 
		Wechselseitiger Ausschluss (System V Semaphore)
		
			
					struct 						semid_ds 	 	 
						struct ipc_perm  	sem_perm 	 	 
						time_t  			sem_otime 	 	 
						time_t  			sem_ctime 	 	 
						unsigned short 					sem_nsems 	 	 
			 
			
					int 						semget 		(key_t  key, int nsems, int  flags) 	 
			 
			
					union 						semun 		 	 
						int 						val 		 	SETVAL 
						struct semid_ds  * 	buf 		 	IPC_{STAT,SET} 
						unsigned short * 				array 		 	{GET,SET}ALL 
			 
			
					int 						semctl 		(int  semid, int  semnum, int  cmd, ... ) 		 
			 
			
					struct 						sembuf 		 	 
					unsigned short 					sem_num 	 	Index  
					short 						sem_op 		 	-1, 0, 1  
					short  			sem_flg 	 	 
			 
			
					int 						semop 		(int  semid, struct sembuf  * sops, unsigned nsops)  
				int 						semtimedop 	(int  semid, struct sembuf  * sops, unsigned nsops,             struct timespec  * timeout)  
			 
		
		
		
		sys/shm.h 
		Gemeinsamer Speicher (System V Shared Memory)
		
			
					struct 				shmid_ds 	 	 
						struct ipc_perm shm_perm  	Zugriffsrechte  
						size_t 				shm_segsz 	 	Größe in Oktetten  
						time_t  	shm_atime 	 	Einblenden  
						time_t  	shm_dtime 	 	Ausblenden  
						time_t  	shm_ctime 	 	Änderung  
						pid_t  	shm_cpid 	 	Erzeuger  
						pid_t  	shm_lpid 	 	Einblender  
						shmatt_t 			shm_nattch 	 	Anzahl  
			 
			
					int 				shmget 		(key_t  key, size_t size, int  flags) 					Erzeugen  
					int 				shmctl 		(int  id, int  cmd, struct shmid_ds  * buf) 	Ändern  
					void * 				shmat 		(int  id, const void *  addr, int  shmflg) 	Einblenden  
					int 				shmdt 		(        const void *  addr) 								Ausblenden  
			 
		
		
		sys/socket.h 
		Netzwerk-Sockel
		
			
				int 		socket 				(int  domain, int  type, int  protocol) 					 
						int 		socketpair 			(int  domain, int  type, int  protocol, int  fd[2]) 	 
						int 		sockatmark 			(int  fd) 			 
			 
			
					struct 		sockaddr 			 	 
						sa_family_t sa_family 	 	 
						char 		sa_data[14] 			 	 
			 
			
					int 		bind 				(int  fd, const struct sockaddr  * addr, socklen_t   len) 			 
						int 		listen 				(int  fd, int backlog) 										 
				int 		accept 				(int  fd,       struct sockaddr  * addr, socklen_t * len) 			 
						int 		connect 			(int  fd, const struct sockaddr  * addr, socklen_t   len) 			 
						int 		shutdown 			(int  fd, int  how) 							 
						int 		getsockname 			(int  fd, struct sockaddr  * addr, socklen_t * len) 			 
						int 		getpeername 			(int  fd, struct sockaddr  * addr, socklen_t * len) 			 
				int 	getsockopt 			(int  fd, int  level, int  optname,        void * optval, socklen_t * optlen) 	 
						int 		setsockopt 			(int  fd, int  level, int  optname,  const void * optval, socklen_t   optlen) 	 
						ssize_t 	send 				(int  fd, const void * buf, size_t len, int  flags) 			 
						ssize_t 	sendto 				(int  fd, const void * buf, size_t len, int  flags,          const struct sockaddr   * to,  socklen_t len) 						 
						ssize_t 	recv 				(int  fd,       void * buf, size_t len, int  flags) 			 
						ssize_t 	recvfrom 			(int  fd,       void * buf, size_t len, int  flags, 			 
								 		 				               struct sockaddr  * from, socklen_t * len) 					 
			 
			
					struct 		msghdr 				 			 
						void * 		msg_name 			 			 
						socklen_t 	msg_namelen 			 			 
						struct iovec  *msg_iov 	 			 
						size_t 		msg_iovlen 			 			 
						void * 		msg_control 			 			 
						socklen_t 	msg_controllen 			 			 
						int 		msg_flags 			 			 
			 
			
						ssize_t 	sendmsg 			(int  fd, const struct msghdr  * msg, int  flags) 	 
						ssize_t 	recvmsg 			(int  fd,       struct msghdr  * msg, int  flags) 	 
			 
		
		
			PF_LOCAL 		Lokale Kommunikation  
			PF_INET 		Internet Protokoll Version 4  
			PF_INET6 		Internet Protokoll Version 6  
			PF_IPX 		Novell Protokoll  
			PF_NETLINK 		Kernel user interface device  
			PF_X25 		ITU-T X.25 / ISO-8208 Protokoll  
			PF_AX25 		Amateur radio AX.25 Protokoll  
			PF_ATMPVC 		Access to raw ATM PVCs  
			PF_APPLETALK 	Appletalk  
			PF_PACKET Low level packet interface  
		
		
		
		
		
		
		sys/stat.h 
		Metadaten von Dateien
		
			
					#define 	S_ISLNK 		(mode ) 		Symbolischer Verweis  
					#define 	S_ISREG 		(mode ) 		Reguläre Datei  
					#define 	S_ISDIR 		(mode ) 		Verzeichnis  
					#define 	S_ISCHR 		(mode ) 		Zeichengerät  
					#define 	S_ISBLK 		(mode ) 		Blockgerät  
					#define 	S_ISFIFO 		(mode ) 		FIFO  
					#define 	S_ISSOCK 		(mode ) 		Sockel  
			 
			
				struct 			stat 		 	 
					dev_t 				st_dev 		 	Gerätenummer  
					ino_t 				st_ino 		 	Indexknotennummer  
					mode_t  	st_mode 	 	Zugriffsrechte  
					nlink_t 			st_nlink 	 	Referenzzähler  
					uid_t  	st_uid 		 	Besitzer  
					gid_t  	st_gid 		 	Gruppe  
					dev_t 				st_rdev 	 	Typ  
					off_t 				st_size 	 	Anzahl Oktette  
					blksize_t 			st_blksize 	 	Anzahl Blöcke  
					blkcnt_t 			st_blocks 	 	Belegte Blöcke  
					time_t  	st_atime 	 	Letzter Zugriff  
					time_t  	st_mtime 	 	Letzte Änderung  
					time_t  	st_ctime 	 	Letzte Statusänderung  
			 
			
					int 	stat 		(const char * path, struct stat  * buf) 					Ermittelt Status einer Datei  
					int 	lstat 		(const char * path, struct stat  * buf) 					Ermittelt Status eines Symlinks  
					int 	chmod 		(const char * path, mode_t  mode) 						Ändert Zugriffsrechte einer Datei  
					int 	mkdir 		(const char * path, mode_t  mode) 						Erzeugt ein Verzeichnis  
					int 	mkfifo 		(const char * path, mode_t  mode) 						Erzeugt eine FIFO   
					int 	mknod 		(const char * path, mode_t  mode, dev_t dev) 				Erzeugt einen Dateisystem-Knoten  
					int 	mkdirat 	(int  fd, const char * path, mode_t  mode) 		Erzeugt Verzeichnis relativ zu einem anderen Verzeichnis  
					int 	mkfifoat 	(int  fd, const char * path, mode_t  mode) 		Erzeugt FIFO  relativ zum Verzeichnis  
					int 	mknodat 	(int  fd, const char * path, mode_t  mode, dev_t dev) 	Erzeugt Dateisystem-Knoten relativ zum Verzeichnis  
					int 	fstat 		(int  fd, struct stat  * buf) 				Ermittelt Status einer geöffneten Datei  
					int 	fchmod 		(int  fd, mode_t  mode) 					Ändert Zugriffsrechte einer geöffneten Datei  
					mode_t 	getumask 	(void) 												Liefert Maske für Zugriffrechte  
					mode_t 	umask 		(mode_t  mode) 								Setzt Maske für Zugriffrechte  
			 
		
		sys/statvfs.h 
		Füllstand des Dateisystems
		
			
				struct 	statvfs 	 	 
					unsigned long 	f_bsize 	 	Blockgröße  
					unsigned long 	f_frsize 	 	Fragmentgröße  
					fsblkcnt_t 	f_blocks 	 	Anzahl Fragmente im Dateisystem  
					fsblkcnt_t 	f_bfree 	 	Anzahl freier Blöcke  
					fsblkcnt_t 	f_bavail 	 	Anzahl freier Blöcke für unprivilegierte Benutzer  
					fsfilcnt_t 	f_files 	 	Anzahl Inodes  
					fsfilcnt_t 	f_ffree 	 	Anzahl freier Inodes  
					fsfilcnt_t 	f_favail 	 	Anzahl freier Inodes für unprivilegierte Benutzer  
					unsigned long 	f_fsid 		 	Identifikationsnummer  
					unsigned long 	f_flag 		 	Bitmaske für Flags  
					unsigned long 	f_namemax 	 	Maximale Länge für Dateinamen  
			 
			
					int 		fstatvfs 	(int           fd,   struct statvfs  * buf)  
					int 		statvfs 	(const char * path, struct statvfs  * buf)  
			 
		
		
		sys/time.h 
		Zugriffszeiten von Dateien (Siehe
		select ,
		getrusage  und
		utmpx )
		
		
		sys/times.h 
		Rechenzeit des Prozesses
		
			
				struct 				tms 			 	 
					clock_t  		tms_utime 		 	Eigene Prozesszeit  
					clock_t  		tms_stime 		 	Eigene Systemzeit  
					clock_t  		tms_cutime 		 	Prozesszeit beendeter Kindprozesse  
					clock_t  		tms_cstime 		 	Systemzeit beendeter Kindprozesse  
			 
			
					clock_t  		times 			(struct tms  * buf) 	Verbrauchte Rechenzeit ermitteln  
			 
		
		sys/uio.h 
		Vektorisierte Ein-/Ausgabe
		
			
				struct 	iovec 			 	 
					void * 		iov_base 		 	Startadresse  
					size_t 		iov_len 		 	Anzahl Oktette  
			 
			
					ssize_t 	readv 			(int  fd, const struct iovec  * vector, int iovcnt) 								 
					ssize_t 	writev 			(int  fd, const struct iovec  * vector, int iovcnt) 								 
					ssize_t 	preadv 			(int  fd, const struct iovec  * vector, int iovcnt, off_t offset) 				 
					ssize_t 	pwritev 		(int  fd, const struct iovec  * vector, int iovcnt, off_t offset) 				 
					ssize_t 	preadv2 		(int  fd, const struct iovec  * vector, int iovcnt, off_t offset, int flags) 	 
					ssize_t 	pwritev2 		(int  fd, const struct iovec  * vector, int iovcnt, off_t offset, int flags) 	 
			 
		
		sys/un.h 
		Unix Domain Sockets 
		
			
				struct 				sockaddr_un 			 			 
						sa_family_t  	sun_family 			 			AF_LOCAL 
						char 					sun_path[100] 			 			Pfad  
			 
		
		sys/utsname.h 
		Namensgebung des Betriebssystems (uname(1))
		
			
				struct 	utsname 		 				 
					char 		sysname[] 		"Linux" 			Kernelname  
					char 		nodename[] 		"debian" 			Hostname  
					char 		release[] 		"3.16.0-4-amd64" 		Kernelversion  
					char 		version[] 		"#1 SMP … (2015-07-17)" 	Kerneldatum  
					char 		machine[] 		"x86_64" 			Systemarchitektur  
			 
			
				int uname 	(struct utsname  * buf) 			Betriebssystem identifizieren  
			 
		
		sys/wait.h 
		Warten auf Kindprozesse
		
			
					pid_t  	wait 		(           int  * status) 														Wartet auf SIGCHLD  von einem Kindprozess  
					pid_t  	wait3 		(           int  * status, int  options, struct rusage  * rusage) 				… und liest dessen Ressourcenverbrauch  
					pid_t  	waitpid 	(pid_t  pid, int  * status, int  options) 							Wartet auf einen bestimmten Prozess  
					pid_t  	wait4 		(pid_t  pid, int  * status, int  options, struct rusage  * rusage) 	… und liest dessen Ressourcenverbrauch  
					int 				waitid 		(idtype_t  idtype, id_t id, siginfo_t  * info, int  options) 				Wartet auf ein bestimmtes Ereignis  
			 
		
		
		
		
		syslog.h 
		Meldungen per Syslog  (Siehe fmtmsg )
		
			
					void 		openlog 			(const char * ident, int  option, int  facility) 	Öffnet das Systemprotokoll, ident ist der Name des Programms  
					int 		setlogmask 			(int  mask) 																	Unterdrückt bestimmte Prioritätsstufen  
					void 		syslog 				(int  priority, const char  * format, ...) 				Schreibt Meldung ins Systemprotokoll  
					void 		closelog 			(void) 																									Schließt das Systemprotokoll  
			 
		
		
		
		
		
		
		tar.h 
		termios.h 
		Terminal-Steuerung
		
			
				struct 	termios 		 				 
					tcflag_t 	c_iflag 		 				Eingabemodus  
					tcflag_t 	c_oflag 		 				Ausgabemodus  
					tcflag_t 	c_cflag 		 				Kontrollen  
					tcflag_t 	c_lflag 		 				Lokale Modi  
					cc_t 		c_cc[NCCS] 		 				Steuerzeichen  
			 
			
					speed_t 	cfgetispeed 		(const struct termios  * term) 					 
					speed_t 	cfgetospeed 		(const struct termios  * term) 					 
					int 		cfsetispeed 		(      struct termios  * term, speed_t speed) 	 
					int 		cfsetospeed 		(      struct termios  * term, speed_t speed) 	 
					int 		tcdrain 		(int  fd) 			 
					int 		tcflow 			(int  fd, int action) 									 
					int 		tcflush 		(int  fd, int queue) 									 
					int 		tcsendbreak 		(int  fd, int duration) 								 
					pid_t tcgetsid 	(int  fd) 			 
					int 		tcgetattr 		(int  fd,                   struct termios  * term) 			 
					int 		tcsetattr 		(int  fd, int action, const struct termios  * term) 			 
			 
		
		tgmath.h 
		threads.h 
		Nebenläufigkeit
		
			
				typedef 	thrd_t 			 		 
			 
			
					int 		thrd_create 		(thrd_t  * thr, thrd_start_t func, void * arg) 	 
					thrd_t thrd_current (void) 									 
					int 		thrd_detach 		(thrd_t  thr) 					 
					int 		thrd_equal 		(thrd_t  thr0, thrd_t  thr1) 	 
					noreturn void 	thrd_exit 		(            int   res) 						 
					int 		thrd_join 		(thrd_t  thr, int * res) 				 
					int 		thrd_sleep 		(const struct timespec  * duration, 		 
							 		 			(      struct timespec  * remaining) 		 
					void 		thrd_yield 		(void) 																 
			 
			
				typedef 	mtx_t 			 									 
			 
			
					void 		mtx_destroy 		(mtx_t  * mtx) 					 
					int 		mtx_init 		(mtx_t  * mtx, int type) 				 
					int 		mtx_lock 		(mtx_t  * mtx) 					 
					int 		mtx_timedlock 		(mtx_t  * mtx, const struct timespec  * timeout) 	 
					int 		mtx_trylock 		(mtx_t  * mtx) 					 
					int 		mtx_unlock 		(mtx_t  * mtx) 					 
			 
			
				typedef 	cnd_t 			 									 
			 
			
					void 		call_once 		(once_flag * flag, void (* func)(void)) 				 
					void 		cnd_broadcast 		(cnd_t  * cond) 					 
					void 		cnd_destroy 		(cnd_t  * cond) 					 
					void 		cnd_init 		(cnd_t  * cond) 					 
					void 		cnd_signal 		(cnd_t  * cond) 					 
					void 		cnd_timedwait 	(cnd_t  * cond, mtx_t  * mtx, 		  
							 		 				 const struct timespec  * timeout)  
					void 		cnd_wait 		(cnd_t  * cond, mtx_t  * mtx) 	 
			 
			
				typedef 	tss_t 			 									 
			 
			
					int 		tss_create 		(tss_t  * key, tss_dtor_t dtor) 			 
					void 		tss_delete 		(tss_t    key) 					 
					void * 		tss_get 		(tss_t    key) 					 
					int 		tss_set 		(tss_t    key, void * val) 				 
			 
		
		time.h 
		
		Darstellung und Umrechnung von Zeitpunkten
		
			
					#define 			CLOCKS_PER_SEC 	1000000 	 
			 
			
				typedef 			time_t 		 		Sekunden seit Beginn der Unix-Epoche  
			 
			
					time_t  	time (      time_t  * t) 								0  
					double 				difftime 	(      time_t  t1, time_t  t0) 		Differenz  
			 
			
				struct 				tm 		 	Kalenderzeit  
					int 				tm_sec 		0–59 	Sekunde  
					int 				tm_min 		0–59 	Minute  
					int 				tm_hour 	0–23 	Stunde  
					int 				tm_mday 	1–31 	Tag des Monats  
					int 				tm_mon 		0–11 	Januar…Dezember  
					int 				tm_year 	0–200 	Jahre seit 1900  
					int 				tm_wday 	0–6 	Sonntag…Samstag  
					int 				tm_yday 	0–365 	Jahrestag  
					int 				tm_isdst 	0–1 	1=Sommerzeit  
			 
			
					struct tm  * 	localtime 	(const time_t  * t) 						Mit Zeitzone, Verwende localtime_r  
					struct tm  * 	gmtime 		(const time_t  * t) 						UTC, Verwende gmtime_r  
					time_t  	mktime (struct tm  * tm) 								Normalisierung  
					size_t 				strftime 	(      char * str, size_t max,  const char  * format, const struct tm  * tm) 	Schablone  
				char * 				ctime 		(const time_t  * t) 						RFC-822, Verwende ctime_r  
				char * 				asctime 	(const struct tm  * tm) 						Verwende asctime_r  
			 
			
					extern char * 		tzname[2] 	 											Zeitzone  
					extern long 		timezone 	 											 
						extern int 		daylight 	 											 
					void 				tzset 		(void) 											tzname  aus $TZ 
					struct tm  * 	localtime_r 	(const time_t  * t, struct tm  * result) 		Sichere Version von localtime mit Zeitzone  
					struct tm  * 	gmtime_r 	(const time_t  * t, struct tm  * result) 		Sichere Version von gmtime, liefert UTC  
					struct tm  * 	getdate 	(const char * str) 									DATEMSK 
					struct tm  * 	getdate_r 	(const char * str, struct tm  * result) 				 
					char * 				strptime 	(const char * str,  const char  * format,       struct tm  * tm)  	Schablone  
					char * 				ctime_r 	(const time_t  * t, char * buf) 					Sichere Version von ctime  
					char * 				asctime_r 	(const struct tm  * tm, char * buf) 					Sichere Version von asctime  
			 
			
				typedef 			clock_t 		long int 	Prozessor-Ticks seit Start des Prozesse  
			 
			
					clock_t  	clock 			(void) 		 
			 
			
				struct 		timespec 		 		 
					time_t  	tv_sec 			 		 
					long int 			tv_nsec 		 		 
			 
			
					int 				clock_getcpuclockid 	(pid_t  pid, clockid_t  * id) 		 
					int 				clock_getres 		(clockid_t  id,       struct timespec  * tp) 	 
				int 		clock_gettime 		(clockid_t  id,       struct timespec  * tp) 	 
					int 				clock_settime 		(clockid_t  id, const struct timespec  * tp) 	 
					int 				clock_nanosleep 	(clockid_t  id, int  flags,                const struct timespec  * request,                      struct timespec  * remain)  
					int 			nanosleep 		(              const struct timespec  * request,                      struct timespec  * remain)  
			 
			
				Zeitgeber für Intervalle  
			 
			
				typedef 			timer_t 	 							 
			 
			
					int 				timer_create 	(clockid_t  id, struct sigevent  * event 	 
					 				 		 timer_t  * timer) 		 
					int 				timer_delete 	(timer_t  timer) 			 
					int 				timer_getoverrun (timer_t  timer) 		 
			 
			
				struct 					itimerspec 	 	 
					struct timespec  	it_interval 	 	 
					struct timespec  	it_value 	 	 
			 
			
				int 		timer_gettime 	(timer_t  timer, struct itimerspec  * current) 							 
				int 		timer_settime 	(timer_t  timer, int  flags,           const struct itimerspec  * oldval,                 struct itimerspec  * newval)  
			 
		
		
		
		
		trace.h 
		ulimit.h 
		Maximale Dateigrößen
		
		
		unistd.h 
		
		Diverse Unix Funktionen
		
		
			
				Umgebung  
					extern char ** 		environ 	 					Null-terminierte Liste aller Umgebungsvariablen  
				Argumente  
					extern char * 		optarg 		 					Parameter der aktuellen Option  
					extern int 		optind 		0 < optind < argc 	Index der nächsten Option  
					extern int 		opterr 		1 					Fehlerausgabe unterdrücken mit 0  
					extern int 		optopt 		 					Falscher Buchstabe, wenn getopt  ein '?' liefert  
					int 			getopt 		(int argc, char * const argv[],  	Buchstabe der nächsten Option in der Argumentliste,  
								 			 		     const char * optstring) 		inkrementiert optind  und setzt optarg  
				Ein/Ausgabe  
					#define 			STDIN_FILENO 		0 							Standardeingabe  
					#define 			STDOUT_FILENO 		1 							Standardausgabe  
					#define 			STDERR_FILENO 		2 							Standardfehlerausgabe  
					ssize_t 			read 			(int  fd,       void * buf, size_t count) 			Liest Daten aus Datei  
					ssize_t 			pread 			(int  fd,       void * buf, size_t count, off_t offset) 	Liest Daten ab Position  
					ssize_t 			write 			(int  fd, const void * buf, size_t count) 			Schreibt Daten in Datei  
					ssize_t 			pwrite 			(int  fd, const void * buf, size_t count, off_t offset) 	Schreibt Daten an Position  
					int 				close 			(int  fd) 							Schließt Datei (siehe auch open  und creat )  
					int 				dup 			(int  fd) 							Klont Dateideskriptor  
					int 				dup2 			(int  oldfd, int  newfd) 			Klont Dateideskriptor und schließt gegebenenfalls newfd  
					int 				pipe 			(int  fd[2]) 						Öffnet unidirektionale Pipe  
					void 				sync 			(void) 										Vollendet alle gepufferten Schreiboperationen  
					int 				syncfs 			(int  fd) 							Vollendet alle gepufferten Schreiboperationen eines Dateisystems  
					off_t 				lseek 			(int  fd, off_t offset, int  whence) Setzt Schreib-/Leseposition für wahlfreien Zugriff  
					int 				ftruncate 		(int  fd, off_t length) 					Kürzt eine geöffnete Datei auf eine bestimmte Länge  
					long 				fpathconf 		(int  fd, int name) 						Liefert Konfiguration  
					int 				fchdir 			(int  fd) 							Wechselt das Arbeitsverzeichnis  
					int 				fchown 			(int  fd, uid_t  owner, gid_t  group) 	Ändert Benutzer und Gruppe  
					int 				fsync 			(int  fd) 							Vollendet alle gepufferten Schreiboperationen einer Datei  
					int 				fdatasync 		(int  fd) 							Schreibt nur Daten aber keine Metadaten  
				Terminal  
					int 				isatty 			(int  fd) 				Prüft, ob der Dateideskriptor auf ein Terminal verweist  
					char * 				ttyname 		(int  fd) 				Liefert den Namen des Terminals  
					int 				ttyname_r 		(int  fd, char * buf, size_t buflen)  
					void 				swab 			(const void * from, void * to, ssize_t len) 		Tauscht Oktette an geraden und ungeraden Positionen  
				Benutzer  
					char * 				getlogin 		(void) 							Besitzer des Terminals  
					int 				getlogin_r 		(char * buf, size_t size) 				Benutzernamen in Puffer schreiben  
			 
			
				typedef 			uid_t 			int 							Benutzernummer  
			 
			
					uid_t  	getuid 			(void) 							Besitzer des Prozesses  
					uid_t  	geteuid 		(void) 							Effektiver Benutzer  
					int 				getresuid 		(uid_t  * ruid, uid_t  * euid, uid_t  * suid) 	Liefert alle relevanten Benutzer  
					int 				setuid 			(uid_t  uid) 			Ändert effektiven und (wenn root) realen Benutzer  
					int 				seteuid 		(uid_t  euid) 			Ändert nur den effektiven Benutzer  
					int 				setreuid 		(uid_t  ruid, uid_t  euid) 	Ändert realen und effektiven Benutzer  
					int 				setresuid 		(uid_t  ruid, uid_t  euid, uid_t  suid) 	Ändert alle Benutzer auf einmal  
			 
			
				typedef 			gid_t 			int 							Gruppennummer  
			 
			
					gid_t  	getgid 			(void) 							Gruppe des Prozesses  
					gid_t  	getegid 		(void) 							Effektive Gruppe  
					int 				getresgid 		(gid_t  * rgid, gid_t  * egid, gid_t  * sgid) 	Liefert alle relevanten Gruppen  
					int 				setgid 			(gid_t  gid) 			Ändert effektive und (wenn root) reale Gruppe  
					int 				setegid 		(gid_t  egid) 			Ändert nur die effektive Gruppe  
					int 				setregid 		(gid_t  rgid, gid_t  egid) 	Ändert reale und effektive Gruppe  
					int 				setresgid 		(gid_t  rgid, gid_t  egid, gid_t  sgid) 	Ändert alle Gruppen auf einmal  
				Verschlüsselung  
				void 			encrypt 	(char block[64], int  edflag) 									Daten mit setkey  verschlüsseln  
					char * 			crypt 		(const char         * key,  const char         * salt 			Streuwert über Passwort bilden  
					char * 				crypt_r 	(const char         * key,  const char         * salt,  struct crypt_data  * data) 		 
				Netzwerk  
					int 				gethostname 		(      char * name, size_t len) 	Eigener Hostname  
					int 				sethostname 		(const char * name, size_t len) 	 
					int 				getdomainname 		(      char * name, size_t len) 	Eigene Domäne  
					int 				setdomainname 		(const char * name, size_t len) 	 
					long 				gethostid 		(void) 					Identifikation  
					int 				sethostid 		(long hostid) 				 
				Prozess ausführen  
					pid_t  	fork 		(void) 								Kindprozess abspalten; oft gefolgt von exec  
					int 				execl 		(const char * path, const char * arg, ...) 			Programm mit Argumenten starten  
					int 				execlp 		(const char * path, const char * arg, ...) 			… und Programm im PATH suchen  
					int 				execle 		(const char * path, const char * arg, ...,  			… und Umgebung vorbesetzen  
							 				 		                    char * const envp[]) 			 
					int 				execv 		(const char * path, char * const argv[]) 			Programm mit Argumenten starten  
					int 				execvp 		(const char * path, char * const argv[]) 			… und Programm im PATH suchen  
					int 				execve 		(const char * path, char * const argv[] 			… und Umgebung vorbesetzen  
							 				 		                    char * const envp[]) 			 
					int 				execvpe 	(const char * path, char * const argv[] 			Alle Varianten kombiniert  
							 				 		                    char * const envp[]) 			 
					int 				fexecve 	(int  fd,            char * const argv[], 	Geöffnete Binärdatei ausführen  
							 				 		                    char * const envp[]) 			 
				Prozess gruppieren  
			 
			
				typedef 			pid_t 		 								Prozessnummer  
			 
			
					pid_t  	getpid 		(void) 								Eigene Prozessnummer  
					pid_t  	getppid 	(void) 								Prozessnummer des Elternprozesses  
					pid_t  	getsid 		(pid_t  process) 				Sitzungsnummer des Prozesses  
					pid_t  	getpgid 	(pid_t  process) 				Prozessgruppe eines anderen Prozesses  
					pid_t  	getpgrp 	(void) 								Eigene Prozessgruppe  
					pid_t  	setsid 		(void) 								Neue Prozessgruppe erzeugen  
					int 				setpgid 	(pid_t  process, pid_t  group) 	Prozess einer Prozessgruppe zuweisen  
					pid_t  	tcgetpgrp 	(int  fd) 					Prozessnummer der Vordergrundgruppe  
					int 				tcsetpgrp 	(int  fd, pid_t  group) 	Prozessgruppe in den Vordergrund bringen  
					int 				setpgrp 	(void) 								Entspricht setpgid (0, 0)  
				Prozess steuern  
					int 				nice 		(int inc) 							Priorität senken  
					int 				pause 		(void) 								Auf Signal warten  
					unsigned 			alarm 		(unsigned int seconds) 						SIGALRM auslösen 
					unsigned 			sleep 		(unsigned int seconds) 						Prozess pausieren  
			 
			
					typedef 	useconds_t 	long 								Mikrosekunden  
			 
			
					int 		usleep 		(useconds_t  usec) 	Obsolet, verwende nanosleep  
					_Noreturn 	_exit 		(int status) 					Wird von exit  aufgerufen, schließt offene Dateien  und sendet SIGCHLD  an Elternprozess  
			 
		
		
		
		
		
			Beliebig viele Zeichen für starke Streufunktionen
		
		
		utime.h 
		Zugriffszeit von Dateien (obsolet)
		
			
				struct 			utimbuf 	 	 
						time_t  	actime 		 	Zeitpunkt des letzten Zugriffs  
						time_t  	modtime 	 	Zeitpunkt der letzten Änderung  
			 
			
					int 				utime 		(const char           * path, 				Setzt Zeitstempel einer Datei  
						 				 		 const struct utimbuf  * buf) 	Obsolet, verwende utimes   
			 
		
		utmpx.h 
		Anmelde-Protokoll (/var/log/wtmp)
		
		uchar.h 
		Konversion von UTF-8 -Zeichen
		
			
				typedef 		char16_t 	 														16-Bit Unicode  
				typedef 		char32_t 	 														32-Bit Unicode  
			 
			
				typedef 		mbstate_t 	 														Zwischenstand  
			 
			
					size_t 			c16rtomb 	(char     * mb,  char16_t      c16,             mbstate_t  * s) 	16-Bit – Multibyte  
					size_t 			c32rtomb 	(char     * mb,  char32_t      c32,             mbstate_t  * s) 	32-Bit – Multibyte  
					size_t 			mbrtoc16 	(char16_t  * c16, const char * mb,  size_t max, mbstate_t  * s) 	Multibyte – 16-Bit  
					size_t 			mbrtoc32 	(char32_t  * c32, const char * mb,  size_t max, mbstate_t  * s) 	Multibyte – 32-Bit  
			 
		
		wchar.h 
		Verarbeitung von Multibyte-Zeichen
		
			
					typedef 			wint_t 		 							Quadrupelbyte  
					typedef 			wchar_t 	 							Doppelbyte  
				Konversion  
					wint_t  		btowc 		(int c) 						Konvertiert Oktett in Quadrupel  
					int 					wctob 		(wint_t  c) 			Konvertiert Quadrupel in Oktett oder liefert EOF  
				Datenstrom  
					wint_t  		fgetwc 		(                    FILE *  fp)  
					wint_t  		fputwc 		(wchar_t    c,        FILE *  fp)  
					wchar_t  * 	fgetws 		(wchar_t  * s, int n, FILE *  fp)  
					int 					fputws 		(const wchar_t  * s,  FILE *  fp)  
					int 					fwide 		(                    FILE *  fp, int mode)  
					wint_t  		getwc 		(                    FILE *  fp)  
					wint_t  		getwchar 	(void)  
					wint_t  		putwc 		(wchar_t    c,        FILE *  fp)  
					wint_t  		putwchar 	(wchar_t    c)  
					wint_t  		ungetwc 	(wint_t     c,        FILE *  fp)  
				Formatierung  
					int 					fwscanf 	(                    FILE *  fp, const wchar_t  * format, ...)  
					int 					fwprintf 	(                    FILE *  fp, const wchar_t  * format, ...)  
					int 					vfwscanf 	(                    FILE *  fp, const wchar_t  * format, va_list  arg)  
					int 					vfwprintf 	(                    FILE *  fp, const wchar_t  * format, va_list  arg)  
					int 					wscanf 		(                               const wchar_t  * format, ...)  
					int 					wprintf 	(                               const wchar_t  * format, ...)  
					int 					vwscanf 	(                               const wchar_t  * format, va_list  arg) 				Standardeingabe  
					int 					vwprintf 	(                               const wchar_t  * format, va_list  arg) 				Standardausgabe  
					int 					swscanf 	(const wchar_t  * s,             const wchar_t  * format, ...)  
					int 					swprintf 	(      wchar_t  * s, size_t n,   const wchar_t  * format, ...)  
					int 					vswscanf 	(const wchar_t  * s, size_t n,   const wchar_t  * format, va_list  arg)  
					int 					vswprintf 	(      wchar_t  * s, size_t n,   const wchar_t  * format, va_list  arg)  
					size_t 					wcsftime 	(      wchar_t  * s, size_t n,   const wchar_t  * format, const struct tm  * tm)  
				Multibyte  
					int 					mbsinit 	(const mbstate_t  * ps) 												Setzt Zustand auf Anfang  
					size_t 					mbrlen 		(                  const char *  s,   size_t n,   mbstate_t  * ps) 							Liefert Oktettzahl des nächsten Zeichens  
					size_t 					mbrtowc 	(wchar_t  * pwc,    const char *  s,   size_t n,   mbstate_t  * ps) 				Extrahiert ein Multibyte-Zeichen  
					size_t 					mbsrtowcs 	(wchar_t  * dst,    const char ** src, size_t len, mbstate_t  * ps) 				Konvertiert Multibyte nach Wide  
					size_t 					wcrtomb 	(char    * s,         wchar_t     wc,              mbstate_t  * ps) 				Konvertiert 16-Bit in Multibyte  
					size_t 					wcsrtombs 	(char    * dst, const wchar_t  ** src, size_t len, mbstate_t  * ps) 				Konvertiert 16-Bit nach Multibyte  
				Zahlen  
					double 					wcstod 		(const wchar_t  * nptr, wchar_t  ** endptr)  
					float 					wcstof 		(const wchar_t  * nptr, wchar_t  ** endptr)  
					long double 				wcstold 	(const wchar_t  * nptr, wchar_t  ** endptr)  
					long long 				wcstoll 	(const wchar_t  * nptr, wchar_t  ** endptr, int base)  
					unsigned long long 			wcstoull 	(const wchar_t  * nptr, wchar_t  ** endptr, int base)  
					long 					wcstol 		(const wchar_t  * nptr, wchar_t  ** endptr, int base)  
					unsigned long 				wcstoul 	(const wchar_t  * nptr, wchar_t  ** endptr, int base)  
				Zeichenketten  
					wchar_t  * 	wcscat 		(      wchar_t  * s1, const wchar_t  * s2)  
					int 					wcscmp 		(const wchar_t  * s1, const wchar_t  * s2)  
					int 					wcscoll 	(const wchar_t  * s1, const wchar_t  * s2)  
					wchar_t  * 	wcscpy 		(      wchar_t  * s1, const wchar_t  * s2)  
					size_t 					wcscspn 	(const wchar_t  * s1, const wchar_t  * s2)  
					size_t 					wcslen 		(const wchar_t  * s)  
					wchar_t  * 	wcsncat 	(      wchar_t  * s1, const wchar_t  * s2, size_t n)  
					int 					wcsncmp 	(const wchar_t  * s1, const wchar_t  * s2, size_t n)  
					wchar_t  * 	wcsncpy 	(      wchar_t  * s1, const wchar_t  * s2, size_t n)  
					size_t 					wcsspn 		(const wchar_t  * s1, const wchar_t  * s2)  
					wchar_t  * 	wcsstr 		(const wchar_t  * s1, const wchar_t  * s2)  
					wchar_t  * 	wcstok 		(      wchar_t  * s1, const wchar_t  * s2, wchar_t  ** ptr)  
					size_t *  				wcsxfrm 	(      wchar_t    s1, const wchar_t  * s2, size_t n)  
				Speicherbereiche  
					int * 					wmemcmp 	(const wchar_t    s1, const wchar_t  * s2, size_t n)  
					wchar_t  * 	wmemcpy 	(      wchar_t  * s1, const wchar_t  * s2, size_t n)  
					wchar_t  * 	wmemmove 	(      wchar_t  * s1, const wchar_t  * s2, size_t n)  
					wchar_t  * 	wmemset 	(      wchar_t  * s,        wchar_t    c,  size_t n)  
					wchar_t  * 	wcschr 		(const wchar_t  * s,        wchar_t    c)  
					wchar_t  * 	wcspbrk 	(const wchar_t  * s1, const wchar_t  * s2)  
					wchar_t  * 	wcsrchr 	(const wchar_t  * s,        wchar_t    c)  
					wchar_t  * 	wcsstr 		(const wchar_t  * s1, const wchar_t  * s2)  
					wchar_t  * 	wmemchr 	(const wchar_t  * s,        wchar_t    c, size_t n)  
			 
			
					int 					wcwidth 	(wchar_t  c) 			Liefert Spaltenbreite eines Zeichens  
					int 					wcswidth 	(const wchar_t  * s, size_t n) 	Berechnet Spaltenbreite für Zeichenkette  
				Datenstrom  
					FILE  *open_wmemstream (wchar_t  ** ptr, size_t * sizeloc) 					Operiert auf einem dynamisch wachsenden Puffer  
				Zeichenketten  
					wchar_t  * 	wcsdup 		(const wchar_t  * s) 								 
					int 					wcscasecmp 	(const wchar_t  * s1, const wchar_t  * s2) 				 
					int 					wcsncasecmp 	(const wchar_t  * s1, const wchar_t  * s2, size_t n) 	 
					size_t 					wcsnlen 	(const wchar_t  * s, size_t maxlen) 											 
					wctrans_t  	wctrans 	(const char * name) 																				 
				Speicherbereiche  
					wchar_t  * 	wcpcpy 		(wchar_t  * dest, const wchar_t  * src) 				 
					wchar_t  * 	wcpncpy 	(wchar_t  * dest, const wchar_t  * src, size_t n) 	 
			 
			
					int 		iswctype_l 	(wint_t  c, wctype_t  category, locale_t  locale)  
					int 		iswalnum_l 	(wint_t  c, locale_t  locale) 		 
					int 		iswalpha_l 	(wint_t  c, locale_t  locale) 		 
					int 		iswblank_l 	(wint_t  c, locale_t  locale) 		 
					int 		iswcntrl_l 	(wint_t  c, locale_t  locale) 		 
					int 		iswdigit_l 	(wint_t  c, locale_t  locale) 		 
					int 		iswgraph_l 	(wint_t  c, locale_t  locale) 		 
					int 		iswlower_l 	(wint_t  c, locale_t  locale) 		 
					int 		iswprint_l 	(wint_t  c, locale_t  locale) 		 
					int 		iswpunct_l 	(wint_t  c, locale_t  locale) 		 
					int 		iswspace_l 	(wint_t  c, locale_t  locale) 		 
					int 		iswupper_l 	(wint_t  c, locale_t  locale) 		 
					int 		iswxdigit_l 	(wint_t  c, locale_t  locale) 		 
					int 		iswblank_l 	(wint_t  c, locale_t  locale) 		 
					wint_t  	towctrans_l 	(wint_t  c, wctrans_t  category, locale_t  locale)  
					wint_t  	towlower_l 	(wint_t  c, locale_t  locale) 	 
					wint_t  	towupper_l 	(wint_t  c, locale_t  locale) 	 
			 
		
		wctype.h 
		Multibyte-Zeichen klassifizieren.
		
		wordexp.h 
		Wortlisten expandieren.
		
			
				typedef 	wordexp_t 	 		 
				size_t 	we_wordc 	 		 
				char ** 	we_wordv 	 		 
				size_t 	we_offs 	 		 
			 
			
				int  	wordexp 	(const char * words, wordexp_t  * pwordexp, int  flags) 		 
				void 								wordfree 	(                    wordexp_t  * pwordexp) 			 
			 
		
		
		
		Literatur