Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
INTRO(2)		      System Calls Manual		      INTRO(2)

       intro - introduction to system services and error numbers

       #include	<errno.h>

       This section describes all of the system	calls.

       A 2V section number means one or	more of	the following:

       o  The man page documents System	V behavior only.

       o  The  man page	documents default SunOS	behavior and System V behavior
	  as it	differs	from the default behavior.  These System V differences
	  are presented	under SYSTEM V section headers.

       o  The  man page	documents behavior compliant with IEEE Std 1003.1-1988

       Compile programs	for the	System V environment using /usr/5bin/cc.  Com-
       pile programs for the default SunOS environment using /usr/bin/cc.  The
       following man pages describe the	various	environments provided by  Sun:
       lint(1V),   ansic(7V),	bsd(7),	  posix(7V),   sunos(7V),  svidii(7V),
       svidiii(7V), xopen(7V).

       Most of these calls have	one or more error returns.  An error condition
       is  indicated  by an otherwise impossible return	value.	This is	almost
       always `-1'; the	individual descriptions	specify	the details.  An error
       code  is	 also made available in	the external variable errno.  errno is
       not cleared on successful calls,	so it should be	tested only  after  an
       error  has  been	 indicated.   Note:  several system calls overload the
       meanings	of these error numbers,	and the	meanings must  be  interpreted
       according  to  the type and circumstances of the	call.  See ERROR CODES
       below for a list	of system error	codes.

       As with normal arguments, all return codes and  values  from  functions
       are of type integer unless otherwise noted.

       The rest	of this	man page is organized as follows:

       SYSTEM PARAMETERS	System limits, values and options.

       DEFINITIONS		System abstractions and	services.

       STREAMS			Modular	 communication between software	layers
				(tty system, networking).

       SYSTEM V	IPC		System V shared	memory,	semaphores,  and  mes-

       ERROR CODES		A  list	 of  system  error codes with descrip-

       LIST OF SYSTEM CALLS	A list of all system calls with	brief descrip-

       Sections	 2  and	3 support a naming convention for those	system parame-
       ters that may change from one object to another (for example, path name
       length  may  is	255  on	a UFS file system but may be 14	on an NFS file
       system exported by a System V based server).  Typically,	the system has
       to  be queried (using pathconf(2V), fpathconf(),	or sysconf(2V))	to re-
       trieve the parameter of interest.  The parameters have conceptual names
       such  as	PATH_MAX.  These names are defined in header files if and only
       if they are invariant across all	file systems and releases of the oper-
       ating system, that is, very rarely.  Because they may be	defined	and/or
       available from the system calls,	there have to be  separate  names  for
       the  parameters	and their values.  The notation	{PATH_MAX} denotes the
       value  of  the  parameter  PATH_MAX.   Do   not	 confuse   this	  with
       _PC_PATH_MAX,  the  name	 that is passed	to the system call to retrieve
       the value:

	      maxpathlen = pathconf(".", _PC_PATH_MAX);

       See pathconf(2V), and sysconf(2V) for further information  about	 these

   Controlling Terminal
       A terminal that is associated with a session.  Each session may have at
       most one	controlling terminal; a	terminal may be	the controlling	termi-
       nal of at most one session.  The	controlling terminal is	used to	direct
       signals (such as	interrupts and job control signals) to the appropriate
       processes by way	of the tty's process group.  Controlling terminals are
       assigned	when a session leader opens a terminal file that is  not  cur-
       rently a	controlling terminal.

       An  integer  assigned  by  the  system  when  a	file  is referenced by
       open(2V), dup(2V), or pipe(2V) or a socket is referenced	 by  socket(2)
       or  socketpair(2)  that uniquely	identifies an access path to that file
       or socket from a	given process or any of	its children.

       A directory is a	special	type of	file that contains  entries  that  are
       references  to  other  files.   Directory entries are called links.  By
       convention, a directory contains	at least two links, `.'	 and `..', re-
       ferred to as dot	and dot-dot respectively.  Dot refers to the directory
       itself and dot-dot refers to its	parent directory.

   Effective User ID, Effective	Group ID, and Access Groups
       Access to system	resources is governed by three values:	the  effective
       user ID,	the effective group ID,	and the	supplementary group ID.

       The  effective  user  ID	 and  effective	 group	ID  are	 initially the
       process's real user ID and real group ID	respectively.  Either  may  be
       modified	 through execution of a	set-user-ID or set-group-ID file (pos-
       sibly by	one of its ancestors) (see execve(2V)).

       The supplementary group ID are an additional set	 of  group  ID's  used
       only  in	 determining  resource	accessibility.	Access checks are per-
       formed as described below in File Access	Permissions.

   File	Access Permissions
       Every file in the file system has a set of access  permissions.	 These
       permissions are used in determining whether a process may perform a re-
       quested operation on the	file (such as opening  a  file	for  writing).
       Access permissions are established at the time a	file is	created.  They
       may be changed at some later time through the chmod(2V) call.

       File access is broken down according to whether a file  may  be:	 read,
       written,	 or  executed.	 Directory files use the execute permission to
       control if the directory	may be searched.

       File access permissions are interpreted by the system as	they apply  to
       three different classes of users: the owner of the file,	those users in
       the file's group, anyone	else.  Every file has an  independent  set  of
       access  permissions for each of these classes.  When an access check is
       made, the system	decides	if permission should be	 granted  by  checking
       the access information applicable to the	caller.

       Read,  write, and execute/search	permissions on a file are granted to a
       process if:

	      The process's effective user ID is that of the super-user.

	      The process's effective user ID matches the user ID of the owner
	      of the file and the owner	permissions allow the access.

	      The  process's  effective	 user ID does not match	the user ID of
	      the owner	of the file, and either	the process's effective	 group
	      ID matches the group ID of the file, or the group	ID of the file
	      is in the	process's supplementary	group IDs, and the group  per-
	      missions allow the access.

	      Neither the effective user ID nor	effective group	ID and supple-
	      mentary group IDs	of the process match the corresponding user ID
	      and  group ID of the file, but the permissions for "other	users"
	      allow access.

       Otherwise, permission is	denied.

   File	Name
       Names consisting	of up to {NAME_MAX} characters may be used to name  an
       ordinary	file, special file, or directory.

       These  characters  may  be selected from	the set	of all ASCII character
       excluding \0 (null) and the ASCII code for / (slash).  (The parity bit,
       bit 8, must be 0.)

       Note: it	is generally unwise to use *, ?, [, or ] as part of file names
       because of the special meaning attached	to  these  characters  by  the
       shell.	See  sh(1).   Although permitted, it is	advisable to avoid the
       use of unprintable characters in	file names.

   Parent Process ID
       A new process is	created	by a currently active process fork (2V).   The
       parent process ID of a process is the process ID	of its creator.

   Path	Name and Path Prefix
       A  path name is a null-terminated character string starting with	an op-
       tional slash (/), followed by zero or more directory names separated by
       slashes,	 optionally  followed  by  a file name.	 The total length of a
       path name must be less than {PATH_MAX} characters.

       More precisely, a path name is a	null-terminated	character string  con-
       structed	as follows:


       where  <file-name> is a string of 1 to {NAME_MAX} characters other than
       the ASCII slash and null, and <dirname> is a string of 1	to  {NAME_MAX}
       characters  (other  than	 the ASCII slash and null) that	names a	direc-

       If a path name begins with a slash, the search begins at	the  root  di-
       rectory.	  Otherwise,  the  search begins at the	current	working	direc-

       A slash,	by itself, names the root directory.  A	dot (.)	names the cur-
       rent working directory.

       A null path name	also refers to the current directory. However, this is
       not true	of all UNIX systems.  (On such systems,	accidental  use	 of  a
       null  path  name	 in  routines that do not check	for it may corrupt the
       current working directory.)  For	portable code, specify the current di-
       rectory explicitly using	`"."', rather than `""'.

   Process Group ID
       Each  active  process is	a member of a process group that is identified
       by a positive integer called the	process	group  ID.   This  ID  is  the
       process ID of the group leader.	This grouping permits the signaling of
       related processes (see the description of killpg() on kill(2V)) and the
       job control mechanisms of csh(1).  Process groups exist from their cre-
       ation until the last member is reaped (that is, a parent	issued a  call
       to wait(2V)).

   Process ID
       Each  active process in the system is uniquely identified by a positive
       integer called a	process	ID.  The range of this ID is from 0 to	MAXPID
       (see <sys/param.h>).

   Real	User ID	and Real Group ID
       Each  user on the system	is identified by a positive integer termed the
       real user ID.

       Each user is also a member of one or more groups.  One of these	groups
       is distinguished	from others and	used in	implementing accounting	facil-
       ities.  The positive integer corresponding to this distinguished	 group
       is termed the real group	ID.

       All  processes  have  a real user ID and	real group ID.	These are ini-
       tialized	from the equivalent attributes of the process that created it.

   Root	Directory and Current Working Directory
       Each process has	associated with	it a concept of	a root directory and a
       current	working	 directory  for	 the  purpose  of  resolving path name
       searches.  The root directory is	used as	the starting point  for	 abso-
       lute  path  name	 resolution.  The current working directory is used as
       the starting point for relative path name resolution.  A	process's root
       directory need not be (but typically is)	the root directory of the root
       file system.

       Each process is a member	of a session.  A session  is  associated  with
       each  controlling terminal in the system, such as login shells and win-
       dows.  Each process is created in the session of	its parent.  A process
       may  alter  its session using setsid(2V)	if it is not already a session
       leader.	The system supports  session  IDs.   A	session	 leader	 is  a
       process	having	process	 ID equal to process group ID equal to session
       ID.  Only a session leader may  acquire	a  controlling	terminal.   In
       SunOS Release 4.1, processes are	created	in sessions by init(8) and in-
       etd (8C).  Sessions are also created for	 processes  that  disassociate
       themselves from a controlling terminal using

	      ioctl(fd,	TIOCNOTTY, 0)


	      setpgrp(mypid,  0) For more information about sessions, see set-

       Signals are used	for notification of asynchronous events.  Signals  may
       directed	 to  processes,	process	groups,	and other combinations of pro-
       cesses.	Signals	may be sent by a process or by the  operating  system.
       Some  signals  may be caught.  There is typically a default behavior on
       receipt if they are not caught.	For more  information  about  signals,
       see signal(3V), kill(2V), sigvec(2), termio(4).

   Sockets and Address Families
       A socket	is an endpoint for communication between processes, similar to
       the way a telephone is the endpoint of  communication  between  humans.
       Each socket has queues for sending and receiving	data.

       Sockets	are typed according to their communications properties.	 These
       properties include whether messages sent	and received at	a  socket  re-
       quire  the  name	of the partner,	whether	communication is reliable, the
       format used in naming message recipients, etc.

       Each instance of	the system supports some collection of	socket	types;
       consult	socket(2)  for	more information about the types available and
       their properties.

       Each instance of	the system supports some number	of sets	of  communica-
       tions  protocols.   Each	 protocol  set supports	addresses of a certain
       format.	An Address Family is the set of	addresses for a	specific group
       of  protocols.  Each socket has an address chosen from the address fam-
       ily in which the	socket was created.

   Special Processes
       The processes with a process ID's of 0, 1, and 2	are special.   Process
       0  is the scheduler.  Process 1 is the initialization process init, and
       is the ancestor of every	other process in the system.  It  is  used  to
       control the process structure.  Process 2 is the	paging daemon.

       A  process is recognized	as a super-user	process	and is granted special
       privileges if its effective user	ID is 0.

   Tty Process Group
       Each active process can be a member of a	terminal group that is identi-
       fied by a positive integer called the tty process group ID. This	group-
       ing is used to arbitrate	between	multiple jobs contending for the  same
       terminal	 (see  csh(1),	and termio(4)),	to direct signals (tty and job
       control)	to the appropriate process group, and to terminate a group  of
       related processes upon termination of one of the	processes in the group
       (see exit(2V) and sigvec(2)).

       A set of	kernel mechanisms that support the development of network ser-
       vices  and  data	communication drivers.	It defines interface standards
       for character input/output within the kernel and	between	the kernel and
       user  level  processes.	 The  STREAMS mechanism	is composed of utility
       routines, kernel	facilities and a set of	data structures.

       A stream	is a full-duplex data path within the kernel  between  a  user
       process and driver routines.  The primary components are	a stream head,
       a driver	and zero or more modules between the stream head  and  driver.
       A  stream  is  analogous	 to a Shell pipeline except that data flow and
       processing are bidirectional.

   Stream Head
       In a stream, the	stream head is the end of the stream that provides the
       interface  between  the stream and a user process.  The principle func-
       tions of	the stream head	are processing STREAMS-related	system	calls,
       and passing data	and information	between	a user process and the stream.

       In a stream, the	driver provides	the interface between peripheral hard-
       ware and	the stream.  A driver can also be a pseudo-driver, such	 as  a
       multiplexor or emulator,	and need not be	associated with	a hardware de-

       A module	is an entity containing	processing routines for	input and out-
       put  data.   It	always	exists	in the middle of a stream, between the
       stream's	head and a driver.  A module is	the STREAMS counterpart	to the
       commands	 in  a	Shell pipeline except that a module contains a pair of
       functions which allow independent  bidirectional	 (downstream  and  up-
       stream) data flow and processing.

       In a stream, the	direction from stream head to driver.

       In a stream, the	direction from driver to stream	head.

       In a stream, one	or more	blocks of data or information, with associated
       STREAMS control structures.  Messages can be of several defined	types,
       which  identify	the  message contents.	Messages are the only means of
       transferring data and communicating within a stream.

   Message Queue
       In a stream, a linked list of messages awaiting processing by a	module
       or driver.

   Read	Queue
       In  a  stream,  the message queue in a module or	driver containing mes-
       sages moving upstream.

   Write Queue
       In a stream, the	message	queue in a module or  driver  containing  mes-
       sages moving downstream.

       A  multiplexor  is a driver that	allows STREAMS associated with several
       user processes to be connected to a single driver, or  several  drivers
       to  be  connected to a single user process.  STREAMS does not provide a
       general multiplexing driver, but	does provide the facilities  for  con-
       structing  them,	 and  for  connecting  multiplexed  configurations  of

       The SunOS system	supports the System V IPC namespace.  For  information
       about  shared memory, semaphores	and messages see msgctl(2), msgget(2),
       msgop(2), semctl(2),  semget(2),	 semop(2),  shmctl(2),	shmget(2)  and

       Each  system  call description attempts to list all possible error num-
       bers.  The following is a complete list of the error numbers and	 their
       names as	given in <errno.h>.

       E2BIG  7	 Arg list too long
	      An argument list longer than 1,048,576 bytes is presented	to ex-
	      ecve(2V) or a routine that called	execve().

       EACCES  13  Permission denied
	      An attempt was made to access a file in a	way forbidden  by  the
	      protection system.

       EADDRINUSE  48  Address already in use
	      Only one usage of	each address is	normally permitted.

       EADDRNOTAVAIL  49  Can't	assign requested address
	      Normally	results	from an	attempt	to create a socket with	an ad-
	      dress not	on this	machine.

       EADV  83	 Advertise error
	      An attempt was made to advertise a resource which	has  been  ad-
	      vertised	already,  or to	stop the RFS while there are resources
	      still advertised,	or to force unmount  a	resource  when	it  is
	      still advertised.	 This error is RFS specific.

       EAFNOSUPPORT  47	 Address family	not supported by protocol family
	      An  address  incompatible	 with the requested protocol was used.
	      For example, you should not necessarily expect to	be able	to use
	      PUP Internet addresses with ARPA Internet	protocols.

       EAGAIN  11  No more processes
	      A	 fork(2V) failed because the system's process table is full or
	      the user is not allowed to create	any more processes, or a  sys-
	      tem call failed because of insufficient resources.

       EALREADY	 37  Operation already in progress
	      An operation was attempted on a non-blocking object that already
	      had an operation in progress.

       EBADF  9	 Bad file number
	      Either a file descriptor refers to no open file, or a read  (re-
	      spectively,  write)  request is made to a	file that is open only
	      for writing (respectively, reading).

       EBADMSG	76  Not	a data message
	      During a read(2V), getmsg(2), or ioctl(2)	I_RECVFD  system  call
	      to a STREAMS device, something has come to the head of the queue
	      that cannot be processed.	 That something	depends	on the	system
		     read(2V)  control	information  or	a passed file descrip-
		     getmsg(2) passed file descriptor.
		     ioctl(2)  control or data information.

       EBUSY  16  Device busy
	      An attempt was made to mount a  file  system  that  was  already
	      mounted  or  an  attempt	was  made to dismount a	file system on
	      which there is an	active file (open file,	mapped	file,  current
	      directory, or mounted-on directory).

       ECHILD  10  No children
	      A	wait(2V) was executed by a process that	had no existing	or un-
	      waited-for child processes.

       ECOMM  85  Communication	error on send
	      An attempt was made to send messages to a	remote machine when no
	      virtual circuit could be found.  This error is RFS specific.

       ECONNABORTED  53	 Software caused connection abort
	      A	connection abort was caused internal to	your host machine.

       ECONNREFUSED  61	 Connection refused
	      No  connection could be made because the target machine actively
	      refused it.  This	usually	results	from trying to	connect	 to  a
	      service that is inactive on the foreign host.

       ECONNRESET  54  Connection reset	by peer
	      A	 connection  was  forcibly closed by a peer. This normally re-
	      sults from the peer executing a shutdown(2) call.

       EDEADLK	78  Deadlock situation detected/avoided
	      An attempt was made to lock a system resource  that  would  have
	      resulted in a deadlock situation.

       EDESTADDRREQ  39	 Destination address required
	      A	required address was omitted from an operation on a socket.

       EDOM  33	 Math argument
	      The  argument of a function in the math library (as described in
	      section 3M) is out of the	domain of the function.

       EDQUOT  69  Disc	quota exceeded
	      A	write()	to an ordinary file, the creation of  a	 directory  or
	      symbolic	link,  or the creation of a directory entry failed be-
	      cause the	user's quota of	disk blocks was	exhausted, or the  al-
	      location of an inode for a newly created file failed because the
	      user's quota of inodes was exhausted.

       EEXIST  17  File	exists
	      An existing file was mentioned in	an inappropriate context,  for
	      example, link(2V).

       EFAULT  14  Bad address
	      The  system encountered a	hardware fault in attempting to	access
	      the arguments of a system	call.

       EFBIG  27  File too large
	      The size of a file exceeded the maximum file size	(1,082,201,088

       EHOSTDOWN  64  Host is down
	      A	socket operation failed	because	the destination	host was down.

       EHOSTUNREACH  65	 Host is unreachable
	      A	socket operation was attempted to an unreachable host.

       EIDRM  77  Identifier removed
	      This error is returned to	processes that resume execution	due to
	      the removal of an	identifier from	the

       EINPROGRESS  36	Operation now in progress
	      An operation that	takes a	long time to complete (such as a  con-
	      nect(2)) was attempted on	a non-blocking object (see ioctl(2)).

       EINTR  4	 Interrupted system call
	      An  asynchronous	signal	(such  as  interrupt or	quit) that the
	      process has elected to catch occurred during a system call.   If
	      execution	is resumed after processing the	signal,	and the	system
	      call is not restarted, it	will appear as if the interrupted sys-
	      tem call returned	this error condition.

       EINVAL  22  Invalid argument
	      A	 system	 call  was made	with an	invalid	argument; for example,
	      dismounting a non-mounted	file  system,  mentioning  an  unknown
	      signal  in  sigvec()  or	kill(),	 reading or writing a file for
	      which lseek() has	generated a negative pointer,  or  some	 other
	      argument	inappropriate  for  the	 call.	Also set by math func-
	      tions, see intro(3).

       EIO  5  I/O error
	      Some physical I/O	error occurred.	 This error may	in some	 cases
	      occur on a call following	the one	to which it actually applies.

       EISCONN	56  Socket is already connected
	      A	connect() request was made on an already connected socket; or,
	      a	sendto() or sendmsg() request on a connected socket  specified
	      a	destination other than the connected party.

       EISDIR  21  Is a	directory
	      An attempt was made to write on a	directory.

       ELOOP  62  Too many levels of symbolic links
	      A	path name lookup involved more than 20 symbolic	links.

       EMFILE  24  Too many open files
	      A	process	tried to have more open	files than the system allows a
	      process to have.	The customary configuration limit  is  64  per

       EMLINK  31  Too many links
	      An  attempt  was	made  to  make more than 32767 hard links to a

       EMSGSIZE	 40  Message too long
	      A	message	sent on	a socket was larger than the internal  message

       EMULTIHOP  87  Multihop attempted
	      An attempt was made to access remote resources which are not di-
	      rectly accessible.  This error is	RFS specific.

       ENAMETOOLONG  63	 File name too long
	      A	component of a path name exceeded 255 characters, or an	entire
	      path name	exceeded 1024 characters.

       ENETDOWN	 50  Network is	down
	      A	socket operation encountered a dead network.

       ENETRESET  52  Network dropped connection on reset
	      The host you were	connected to crashed and rebooted.

       ENETUNREACH  51	Network	is unreachable
	      A	socket operation was attempted to an unreachable network.

       ENFILE  23  File	table overflow
	      The  system's  table  of	open files is full, and	temporarily no
	      more open() calls	can be accepted.

       ENOBUFS	55  No buffer space available
	      An operation on a	socket or pipe was not performed  because  the
	      system lacked sufficient buffer space.

       ENODEV  19  No such device
	      An  attempt  was made to apply an	inappropriate system call to a
	      device (for example, an attempt to read a	write-only device)  or
	      an  attempt  was made to use a device not	configured by the sys-

       ENOENT  2  No such file or directory
	      This error occurs	when a file name is  specified	and  the  file
	      should  exist  but does not, or when one of the directories in a
	      path name	does not exist.

       ENOEXEC	8  Exec	format error
	      A	request	is made	to execute a file which, although it  has  the
	      appropriate  permissions,	does not start with a valid magic num-
	      ber (see a.out(5)).

       ENOLCK  79  No locks available
	      A	system-imposed limit on	the number of  simultaneous  file  and
	      record  locks  was  reached  and	no more	were available at that

       ENOLINK	82  Link has be	severed
	      The link (virtual	circuit) connecting to	a  remote  machine  is
	      gone.  This error	is RFS specific.

       ENOMEM  12  Not enough memory
	      During an	execve(2V), sbrk(), or brk(2), a program asks for more
	      address space or swap space than the system is able  to  supply,
	      or a process size	limit would be exceeded.  A lack of swap space
	      is normally a temporary condition; however, a  lack  of  address
	      space  is	 not  a	 temporary condition.  The maximum size	of the
	      text, data, and stack segments is	a system parameter.  Soft lim-
	      its may be increased to their corresponding hard limits.

       ENOMSG  75  No message of desired type
	      An attempt was made to receive a message of a type that does not
	      exist on the specified message queue; see	msgop(2).

       ENONET  80  Machine is not on the network
	      A	attempt	was made to advertise, unadvertise, mount, or  unmount
	      remote  resources	 while	the  machine  has  not done the	proper
	      startup to connect to the	network.  This error  is  Remote  File
	      Sharing (RFS) specific.

       ENOPROTOOPT  42	Option not supported by	protocol
	      A	 bad  option  was specified in a setsockopt() or getsockopt(2)

       ENOSPC  28  No space left on device
	      A	write()	to an ordinary file, the creation of  a	 directory  or
	      symbolic	link,  or the creation of a directory entry failed be-
	      cause no more disk blocks	are available on the file  system,  or
	      the  allocation  of an inode for a newly created file failed be-
	      cause no more inodes are available on the	file system.

       ENOSR  74  Out of stream	resources
	      During a STREAMS	open(2V),  either  no  STREAMS	queues	or  no
	      STREAMS head data	structures were	available.

       ENOSTR  72  Not a stream	device
	      A	putmsg(2) or getmsg(2) system call was attempted on a file de-
	      scriptor that is not a STREAMS device.

       ENOSYS  90  Function not	implemented
	      An attempt was made to use a function that is not	 available  in
	      this implementation.

       ENOTBLK	15  Block device required
	      A	 file  that  is	not a block device was mentioned where a block
	      device was required, for example,	in mount(2V).

       ENOTCONN	 57  Socket is not connected
	      An request to send or receive data was  disallowed  because  the
	      socket is	not connected.

       ENOTDIR	20  Not	a directory
	      A	non-directory was specified where a directory is required, for
	      example, in a path prefix	or as an argument to chdir(2V).

       ENOTEMPTY  66  Directory	not empty
	      An attempt was made to remove a  directory  with	entries	 other
	      than  `&.'  and `&.|.'  by performing a rmdir() system call or a
	      rename() system call with	that directory specified as the	target

       ENOTSOCK	 38  Socket operation on non-socket

       ENOTTY  25  Inappropriate ioctl for device
	      The  code	used in	an ioctl() call	is not supported by the	object
	      that the file descriptor in the call refers to.

       ENXIO  6	 No such device	or address
	      I/O on a special file refers to a	subdevice that does not	exist,
	      or beyond	the limits of the device.  It may also occur when, for
	      example, a tape drive is not on-line or no disk pack  is	loaded
	      on a drive.

       EOPNOTSUPP  45  Operation not supported on socket
	      For example, trying to accept a connection on a datagram socket.

       EPERM  1	 Not owner
	      Typically	 this  error  indicates	an attempt to modify a file in
	      some way forbidden except	to its owner  or  super-user.	It  is
	      also  returned  for  attempts by ordinary	users to do things al-
	      lowed only to the	super-user.

       EPFNOSUPPORT  46	 Protocol family not supported
	      The protocol family has not been configured into the  system  or
	      no implementation	for it exists.

       EPIPE  32  Broken pipe
	      An attempt was made to write on a	pipe or	socket for which there
	      is no process to read the	data.  This condition normally	gener-
	      ates  a signal; the error	is returned if the signal is caught or

       EPROTO  86  Protocol error
	      Some protocol error occurred.  This error	 is  device  specific,
	      but is generally not related to a	hardware failure.

       EPROTONOSUPPORT	43  Protocol not supported
	      The  protocol  has not been configured into the system or	no im-
	      plementation for it exists.

       EPROTOTYPE  41  Protocol	wrong type for socket
	      A	protocol was specified that does not support the semantics  of
	      the  socket type requested. For example, you cannot use the ARPA
	      Internet UDP protocol with type SOCK_STREAM.

       ERANGE  34  Result too large
	      The value	of a function in the math  library  (as	 described  in
	      section 3M) is unrepresentable within machine precision.

       EREMOTE	71  Too	many levels of remote in path
	      An  attempt was made to remotely mount a file system into	a path
	      that already has a remotely mounted component.

       EROFS  30  Read-only file system
	      An attempt to modify a file or directory was made	on a file sys-
	      tem mounted read-only.

       ERREMOTE	 81  Object is remote
	      An attempte was made to advertise	a resource which is not	on the
	      local machine, or	to mount/unmount a device (or  pathname)  that
	      is on a remote machine.  This error is RFS specific.

       ESHUTDOWN  58  Can't send after socket shutdown
	      A	request	to send	data was disallowed because the	socket had al-
	      ready been shut down with	a previous shutdown(2) call.

       ESOCKTNOSUPPORT	44  Socket type	not supported
	      The support for the socket type has not been configured into the
	      system or	no implementation for it exists.

       ESPIPE  29  Illegal seek
	      An  lseek() was issued to	a socket or pipe.  This	error may also
	      be issued	for other non-seekable devices.

       ESRCH  3	 No such process
	      The process or process group whose number	was given does not ex-
	      ist, or any such process is already dead.

       ESRMNT  84  Srmount error
	      An  attempt was made to stop RFS while there are resources still
	      mounted by remote	machines.  This	error is RFS specific.

       ESTALE  70  Stale NFS file handle
	      An NFS client referenced a file that it had opened but that  had
	      since been deleted.

       ETIME  73  Timer	expired
	      The  timer  set  for  a  STREAMS ioctl(2)	call has expired.  The
	      cause of this error is device specific and could indicate	either
	      a	 hardware or software failure, or perhaps a timeout value that
	      is too short for the specific  operation.	  The  status  of  the
	      ioctl(2) operation is indeterminate.

       ETIMEDOUT  60  Connection timed out
	      A	 connect request or an NFS request failed because the party to
	      which the	request	was made did not properly respond after	a  pe-
	      riod  of time.  (The timeout period is dependent on the communi-
	      cation protocol.)

       ETXTBSY	26  Text file busy
	      An attempt was made to execute a pure-procedure program that  is
	      currently	 open  for writing, or an attempt was made to open for
	      writing a	pure-procedure program that is being executed.

       EUSERS  68  Too many users
	      An operation to read disk	quota information for the user	failed
	      because the system quota table was full.

       EWOULDBLOCK  35	Operation would	block
	      An  operation  that would	cause a	process	to block was attempted
	      on an object in non-blocking mode	(see ioctl(2)).

       EXDEV  18  Cross-device link
	      A	hard link to a file on another file system was attempted.

       unused  0

       brk(2),	chdir(2V),   chmod(2V),	  connect(2),	dup(2V),   execve(2V),
       exit(2V),  fork(2V),  getmsg(2),	 getsockopt(2),	 ioctl(2),  killpg(2),
       link(2V),  mount(2V),   msgctl(2),   msgget(2),	 msgop(2),   open(2V),
       pipe(2V), putmsg(2), read(2V), semctl(2), semget(2), semop(2), getsock-
       opt(2),	shmctl(2),  shmget(2),	 shmop(2),   shutdown(2),   sigvec(2),
       socket(2),  socketpair(2), wait(2V), csh(1), sh(1), intro(3), perror(3)
       termio(4), a.out(5)

       Name Appears on Page Description

				21 January 1990			      INTRO(2)


Want to link to this manual page? Use this URL:

home | help