xref: /illumos-gate/usr/src/man/man3proc/Psetzoneid.3proc (revision 9b9d39d2a32ff806d2431dbcc50968ef1e6d46b2)
1.\"
2.\" This file and its contents are supplied under the terms of the
3.\" Common Development and Distribution License ("CDDL"), version 1.0.
4.\" You may only use this file in accordance with the terms of version
5.\" 1.0 of the CDDL.
6.\"
7.\" A full copy of the text of the CDDL should have accompanied this
8.\" source.  A copy of the CDDL is also available via the Internet at
9.\" http://www.illumos.org/license/CDDL.
10.\"
11.\"
12.\" Copyright 2015 Joyent, Inc.
13.\"
14.Dd May 11, 2016
15.Dt PSETZONEID 3PROC
16.Os
17.Sh NAME
18.Nm Psetzoneid
19.Nd change processes zone id
20.Sh LIBRARY
21.Lb libproc
22.Sh SYNOPSIS
23.In libproc.h
24.Ft int
25.Fo Psetzoneid
26.Fa "struct ps_prochandle *P"
27.Fa "zoneid_t zoneid"
28.Fc
29.Sh DESCRIPTION
30The
31.Fn Psetzoneid
32function moves the process handle
33.Fa P
34into the zone specified by
35.Fa zoneid .
36A process that is in the non-global zone may only move between the
37global zone and its original zone.
38A process that is in the global zone may not use this interface to enter a
39non-global zone.
40This function will fail if called from a non-global zone.
41This function only manipulates the processes credentials.
42.Pp
43Care should be taken when moving a process around temporarily, such that
44if the process that is manipulating
45.Fa P
46dies, it does not cause
47.Fa P
48to resume running while still in the global zone.
49It is suggested that the
50.Sy PR_KLC
51flag is set with
52.Xr Psetflags 3PROC
53which will cause the process to terminate if the process that holds
54.Fa P
55unexpectedly terminates.
56See
57.Xr proc 5
58for more information on the
59.Sy PR_KLC
60flag.
61.Pp
62Note, only active processes may change their zone.
63It is an error to call this function on process handles that correspond to core
64files, zombie processes, or files.
65.Sh RETURN VALUES
66Upon successful completion, the
67.Fn Psetzoneid
68function returns
69.Sy 0
70and changes the zone for
71.Fa P .
72Otherwise,
73.Sy -1
74is returned and
75.Sy errno
76is set.
77.Sh ERRORS
78For a full list of possible errors see the
79.Sy DIAGNOSTICS
80section in
81.Xr proc 5 .
82.Pp
83The
84.Fn Psetzoneid
85function will fail if:
86.Bl -tag -width Er
87.It Er EINVAL
88.Fa zoneid
89does not correspond to an existing zone or the zone id is not the global
90zone or the original zone of
91.Fa P .
92.It Er EPERM
93The caller does not hold the required privileges for zone configuration.
94.El
95.Sh INTERFACE STABILITY
96.Sy Uncommitted
97.Sh MT-LEVEL
98See
99.Sy LOCKING
100in
101.Xr libproc 3LIB .
102.Sh SEE ALSO
103.Xr libproc 3LIB ,
104.Xr proc 5 ,
105.Xr privileges 7 ,
106.Xr zones 7
107