143051d27SRobert Mustacchi.\"
243051d27SRobert Mustacchi.\" This file and its contents are supplied under the terms of the
343051d27SRobert Mustacchi.\" Common Development and Distribution License ("CDDL"), version 1.0.
443051d27SRobert Mustacchi.\" You may only use this file in accordance with the terms of version
543051d27SRobert Mustacchi.\" 1.0 of the CDDL.
643051d27SRobert Mustacchi.\"
743051d27SRobert Mustacchi.\" A full copy of the text of the CDDL should have accompanied this
843051d27SRobert Mustacchi.\" source.  A copy of the CDDL is also available via the Internet at
943051d27SRobert Mustacchi.\" http://www.illumos.org/license/CDDL.
1043051d27SRobert Mustacchi.\"
1143051d27SRobert Mustacchi.\"
1243051d27SRobert Mustacchi.\" Copyright 2015 Joyent, Inc.
1343051d27SRobert Mustacchi.\"
1443051d27SRobert Mustacchi.Dd May 11, 2016
1543051d27SRobert Mustacchi.Dt PSETFLAGS 3PROC
1643051d27SRobert Mustacchi.Os
1743051d27SRobert Mustacchi.Sh NAME
1872d3dbb9SYuri Pankov.Nm Psetflags ,
1943051d27SRobert Mustacchi.Nm Punsetflags
2043051d27SRobert Mustacchi.Nd set and unset process flags
21ab618543SJohn Levon.Sh LIBRARY
2243051d27SRobert Mustacchi.Lb libproc
23ab618543SJohn Levon.Sh SYNOPSIS
2443051d27SRobert Mustacchi.In libproc.h
2543051d27SRobert Mustacchi.Ft int
2643051d27SRobert Mustacchi.Fo Psetflags
2743051d27SRobert Mustacchi.Fa "struct ps_prochandle *P"
2843051d27SRobert Mustacchi.Fa "long flags"
2943051d27SRobert Mustacchi.Fc
3043051d27SRobert Mustacchi.Ft int
3143051d27SRobert Mustacchi.Fo Punsetflags
3243051d27SRobert Mustacchi.Fa "struct ps_prochandle *P"
3343051d27SRobert Mustacchi.Fa "long flags"
3443051d27SRobert Mustacchi.Fc
3543051d27SRobert Mustacchi.Sh DESCRIPTION
3643051d27SRobert MustacchiThe
3743051d27SRobert Mustacchi.Fn Psetflags
3843051d27SRobert Mustacchiand
3943051d27SRobert Mustacchi.Fn Punsetflags
4043051d27SRobert Mustacchifunctions manipulate the process flags for the process handle
4143051d27SRobert Mustacchi.Fa P .
4243051d27SRobert MustacchiThe process flags determine how the process behaves in the face of
4372d3dbb9SYuri Pankovvarious actions.
4472d3dbb9SYuri PankovFor example, setting the
4543051d27SRobert Mustacchi.Sy PR_FORK
4643051d27SRobert Mustacchiflag indicates that the tracing flags of the process and the
4772d3dbb9SYuri Pankovinherit-on-fork mode should be set on children.
4872d3dbb9SYuri PankovA full list of the process flags is available in the
4943051d27SRobert Mustacchi.Sy PCSET
5043051d27SRobert Mustacchisection in
51*bbf21555SRichard Lowe.Xr proc 5 .
5243051d27SRobert Mustacchi.Pp
5343051d27SRobert MustacchiThe
5443051d27SRobert Mustacchi.Fn Psetflags
5543051d27SRobert Mustacchifunction sets the flags specified in
5643051d27SRobert Mustacchi.Fa flags
5743051d27SRobert Mustacchiby doing a bitwise-inclusive-OR with the previously set flags.
5843051d27SRobert Mustacchi.Pp
5943051d27SRobert MustacchiThe
6043051d27SRobert Mustacchi.Fn Punsetflags
6143051d27SRobert Mustacchifunction removes the flags specified in
6243051d27SRobert Mustacchi.Fa flags
6372d3dbb9SYuri Pankovfrom the tracing flags of the process.
6472d3dbb9SYuri PankovItems not listed in
6543051d27SRobert Mustacchi.Fa flags
6643051d27SRobert Mustacchiwill remain.
6743051d27SRobert Mustacchi.Pp
6843051d27SRobert MustacchiTo see the current set of flags active on the process, check the
6943051d27SRobert Mustacchi.Sy pr_flags
7043051d27SRobert Mustacchimember of the
7143051d27SRobert Mustacchi.Sy pstatus_t
7272d3dbb9SYuri Pankovfor the process.
7372d3dbb9SYuri PankovIt can be obtained through the
7443051d27SRobert Mustacchi.Xr Pstatus 3PROC
7543051d27SRobert Mustacchifunction.
7643051d27SRobert Mustacchi.Pp
7743051d27SRobert MustacchiNote, attempting to modify the process flags only works on active
7872d3dbb9SYuri Pankovprocesses.
7972d3dbb9SYuri PankovAttempting to call these functions of process handles corresponding to core
8072d3dbb9SYuri Pankovfiles, zombie processes, or files, will result in an error.
8143051d27SRobert Mustacchi.Sh RETURN VALUES
8243051d27SRobert MustacchiUpon successful completion, the
8343051d27SRobert Mustacchi.Fn Psetflags
8443051d27SRobert Mustacchiand
8543051d27SRobert Mustacchi.Fn Punsetflags
8643051d27SRobert Mustacchifunctions return
8743051d27SRobert Mustacchi.Sy 0 .
8843051d27SRobert MustacchiOtherwise,
8943051d27SRobert Mustacchi.Sy -1
9043051d27SRobert Mustacchiis returned
9143051d27SRobert Mustacchiand
9243051d27SRobert Mustacchi.Sy errno
9343051d27SRobert Mustacchiis set to indicate the error.
9443051d27SRobert Mustacchi.Sh ERRORS
9543051d27SRobert MustacchiFor a full list of possible errors see the
9643051d27SRobert Mustacchi.Sy DIAGNOSTICS
9743051d27SRobert Mustacchisection in
98*bbf21555SRichard Lowe.Xr proc 5 .
9943051d27SRobert Mustacchi.Sh INTERFACE STABILITY
10043051d27SRobert Mustacchi.Sy Uncommitted
10143051d27SRobert Mustacchi.Sh MT-LEVEL
10243051d27SRobert MustacchiSee
10343051d27SRobert Mustacchi.Sy LOCKING
10443051d27SRobert Mustacchiin
10543051d27SRobert Mustacchi.Xr libproc 3LIB .
10643051d27SRobert Mustacchi.Sh SEE ALSO
10743051d27SRobert Mustacchi.Xr libproc 3LIB ,
10843051d27SRobert Mustacchi.Xr Pstatus 3PROC ,
109*bbf21555SRichard Lowe.Xr proc 5
110