]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/man/man2/setpgid.2
xnu-6153.11.26.tar.gz
[apple/xnu.git] / bsd / man / man2 / setpgid.2
index 6b2cdbd94627e5c69f12ee1d1b3531a94fed2bb2..07c37c78b7ce3960fff6918d889015995fd9817c 100644 (file)
 .Sh SYNOPSIS
 .Fd #include <unistd.h>
 .Ft int
 .Sh SYNOPSIS
 .Fd #include <unistd.h>
 .Ft int
-.Fn setpgid "pid_t pid" "pid_t pgrp"
-.Ft int
-.Fn setpgrp "pid_t pid" "pid_t pgrp"
+.Fo setpgid
+.Fa "pid_t pid"
+.Fa "pid_t pgid"
+.Fc
+.Ft pid_t
+.Fo setpgrp
+.Fa void
+.Fc
 .Sh DESCRIPTION
 .Sh DESCRIPTION
-.Fn Setpgid
+.Fn setpgid
 sets the process group of the specified process
 .Ar pid
 to the specified
 sets the process group of the specified process
 .Ar pid
 to the specified
-.Ar pgrp .
+.Ar pgid .
 If
 .Ar pid
 is zero, then the call applies to the current process.
 If
 .Ar pid
 is zero, then the call applies to the current process.
@@ -59,42 +64,92 @@ is zero, then the call applies to the current process.
 If the invoker is not the super-user, then the affected process
 must have the same effective user-id as the invoker or be a descendant
 of the invoking process.
 If the invoker is not the super-user, then the affected process
 must have the same effective user-id as the invoker or be a descendant
 of the invoking process.
+.Pp
 .Sh RETURN VALUES
 .Sh RETURN VALUES
-.Fn Setpgid
+.Fn setpgid
 returns 0 when the operation was successful.
 If the request failed, -1 is returned and the global variable
 .Va errno
 indicates the reason.
 .Sh ERRORS
 returns 0 when the operation was successful.
 If the request failed, -1 is returned and the global variable
 .Va errno
 indicates the reason.
 .Sh ERRORS
-.Fn Setpgid
+.Fn setpgid
 will fail and the process group will not be altered if:
 .Bl -tag -width Er
 will fail and the process group will not be altered if:
 .Bl -tag -width Er
-.It Bq Er EACCESS
+.\" ===========
+.It Bq Er EACCES
 The value of the
 .Fa pid
 argument matches the process ID of a child process of the calling process, 
 and the child process has successfully executed one of the exec functions.
 The value of the
 .Fa pid
 argument matches the process ID of a child process of the calling process, 
 and the child process has successfully executed one of the exec functions.
+.\" ===========
+.It Bq Er EINVAL
+The value of the
+.Fa pgid
+argument is less than 0
+or is not a value supported by the implementation.
+.\" ===========
+.It Bq Er EPERM
+The process indicated by the
+.Fa pid
+argument is a session leader.
+.\" ===========
 .It Bq Er EPERM
 The effective user ID of the requested process is different
 from that of the caller and the process is not a descendant
 of the calling process.
 .It Bq Er EPERM
 The effective user ID of the requested process is different
 from that of the caller and the process is not a descendant
 of the calling process.
+.\" ===========
+.It Bq Er EPERM
+The value of the
+.Fa pgid argument
+is valid, but does not match the process ID
+of the process indicated by the
+.Fa pid
+argument and there is no process with a process group ID
+that matches the value of the
+.Fa pgid
+argument in the same session as the calling process.
+.\" ===========
 .It Bq Er ESRCH
 The value of the 
 .Fa pid 
 argument does not match the process ID of the calling process or of a 
 child process of the calling process.
 .El
 .It Bq Er ESRCH
 The value of the 
 .Fa pid 
 argument does not match the process ID of the calling process or of a 
 child process of the calling process.
 .El
+.Sh LEGACY SYNOPSIS
+.Fd #include <unistd.h>
+.Pp
+.Ft int
+.br
+.Fo setpgrp
+.Fa "pid_t pid"
+.Fa "pid_t pgid"
+.Fc ;
+.Pp
+The legacy
+.Fn setpgrp
+function is a clone of the
+.Fn setpgid
+function, retained for calling convention compatibility
+with historical versions of
+.Bx .
+.Sh COMPATIBILITY
+Use of the legacy version of the
+.Fn setpgrp
+call will cause compiler diagnostics.
+Use
+.Fn setpgid
+instead.
+.Pp
+Use of private (and conflicting) prototypes for
+.Fn setpgrp
+will cause compiler diagnostics.
+Delete the private prototypes and include
+.In unistd.h .
 .Sh SEE ALSO
 .Sh SEE ALSO
-.Xr getpgrp 2
+.Xr getpgrp 2 ,
+.Xr compat 5
 .Sh STANDARDS
 The
 .Fn setpgid
 function conforms to 
 .St -p1003.1-88 .
 .Sh STANDARDS
 The
 .Fn setpgid
 function conforms to 
 .St -p1003.1-88 .
-.Sh COMPATIBILITY
-.Fn Setpgrp
-is identical to
-.Fn setpgid ,
-and is retained for calling convention compatibility with historical
-versions of
-.Bx .