Hallo, dies ist ein Test.
PWD: /www/data-lst1/unixsoft/unixsoft/kaempfer/.public_html
Running in File Mode
Relative path: ././../../../../../../usr/man/man3rad/zonesbridge-1.3rad
Real path: /usr/share/man/man3rad/zonesbridge-1.3rad
Zurück
'\" t .\" Title: zonesbridge-1 .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Date: 2017-02-01 .\" Manual: RAD Module Definitions .\" Source: Solaris 11.4 .\" Language: English .\" .TH "ZONESBRIDGE\-1" "3rad" "2017\-02\-01" "Solaris 11.4" "RAD Module Definitions" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" zonesbridge \- API for non\-global zone connectivity .SH "SYNOPSIS" .nf #include <rad/client/1/zonesbridge\&.h> cc [ flag\&.\&.\&. ] file\&.\&.\&. \fB\-lzonesbridge1_client\fR [ library\&.\&.\&. ] .fi .SS "interface IO" .nf .HP \w'rc_err_t\ \fBzonesbridge_IO_available\fR('u .R rc_err_t \fBzonesbridge_IO_available\fR(rc_instance_t\ *inst, . long\ long\ token, . int\ *result, . zonesbridge_ZonesBridgeError_t\ **error); .RS .RE .fi .nf .HP \w'rc_err_t\ \fBzonesbridge_IO_close\fR('u .R rc_err_t \fBzonesbridge_IO_close\fR(rc_instance_t\ *inst, . long\ long\ token, . zonesbridge_ZonesBridgeError_t\ **error); .RS .RE .fi .nf .HP \w'rc_err_t\ \fBzonesbridge_IO_openConsole\fR('u .R rc_err_t \fBzonesbridge_IO_openConsole\fR(rc_instance_t\ *inst, . const\ char\ *zone, . long\ long\ *result, . zonesbridge_ZonesBridgeError_t\ **error); .RS .RE .fi .nf .HP \w'rc_err_t\ \fBzonesbridge_IO_openRad\fR('u .R rc_err_t \fBzonesbridge_IO_openRad\fR(rc_instance_t\ *inst, . const\ char\ *zone, . const\ char\ *user, . long\ long\ *result, . zonesbridge_ZonesBridgeError_t\ **error); .RS .RE .fi .nf .HP \w'rc_err_t\ \fBzonesbridge_IO_read\fR('u .R rc_err_t \fBzonesbridge_IO_read\fR(rc_instance_t\ *inst, . long\ long\ token, . int\ nbyte, . rc_opaque_t\ **result, . zonesbridge_ZonesBridgeError_t\ **error); .RS .RE .fi .nf .HP \w'rc_err_t\ \fBzonesbridge_IO_write\fR('u .R rc_err_t \fBzonesbridge_IO_write\fR(rc_instance_t\ *inst, . long\ long\ token, . const\ rc_opaque_t\ *buf, . zonesbridge_ZonesBridgeError_t\ **error); .RS .RE .fi .SS "interface Util" .nf .HP \w'rc_err_t\ \fBzonesbridge_Util_getZones\fR('u .R rc_err_t \fBzonesbridge_Util_getZones\fR(rc_instance_t\ *inst, . zonesbridge_ZoneState_t\ state, . char\ ***result, . int\ *result_cnt); .RS .RE .fi .SS "Enumerated Types" .PP \fBenum ZonesBridgeErrorCode\fR .\" blockquote { .RS 4 .PP .nf typedef enum zonesbridge_ZonesBridgeErrorCode { ZZBEC_NONE = 0, ZZBEC_INVALID_TOKEN = 1, ZZBEC_INVALID_ZONE = 2, ZZBEC_INVALID_ZONE_PLATFORM = 3, ZZBEC_INVALID_ZONE_STATE = 4, ZZBEC_COMMAND_FAILED = 5, } zonesbridge_ZonesBridgeErrorCode_t; .fi .RE .\" } blockquote .PP \fBenum ZoneState\fR .\" blockquote { .RS 4 .PP .nf typedef enum zonesbridge_ZoneState { ZZS_CONFIGURED = 0, ZZS_INCOMPLETE = 1, ZZS_INSTALLED = 2, ZZS_READY = 3, ZZS_RUNNING = 4, ZZS_SHUTTING_DOWN = 5, ZZS_DOWN = 6, ZZS_MOUNTED = 7, } zonesbridge_ZoneState_t; .fi .RE .\" } blockquote .SS "Structured Types" .PP \fBstruct ZonesBridgeError\fR .\" blockquote { .RS 4 .PP typedef struct zonesbridge_ZonesBridgeError zonesbridge_ZonesBridgeError_t; .PP .nf struct zonesbridge_ZonesBridgeError { zonesbridge_ZonesBridgeErrorCode_t zzbe_errorCode; }; .fi .nf .HP \w'void\ \fBzonesbridge_ZonesBridgeError_free\fR('u .R void \fBzonesbridge_ZonesBridgeError_free\fR(zonesbridge_ZonesBridgeError_t\ *in); .RS .RE .fi .RE .\" } blockquote .SH "DESCRIPTION" .PP \fBAPI com\&.oracle\&.solaris\&.rad\&.zonesbridge \fR\fB\&\s-2\u[1]\d\s+2\fR .PP This API provides \fBrad(8)\fR client connectivity to a non\-global zone through its global zone\&. .PP Two modes of connectivity are provided: .sp .RS 4 .ie n \{\ \h'-04' 1.\h'+01'\c .\} .el \{\ .sp -1 .IP " 1." 4.2 .\} access to the non\-global zone\'s local RAD agent .sp Using the openRad method, clients can connect to a local \fBrad(8)\fR daemon running on a non\-global zone, through an established, authenticated RAD connection to its global zone\&. .sp This mode of connectivity is useful when a non\-global zone: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} has no network connectivity, or .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} has no dedicated management network interface, and chooses not to expose a remote \fBrad(8)\fR daemon on its service network .RE .RE .sp .RS 4 .ie n \{\ \h'-04' 2.\h'+01'\c .\} .el \{\ .sp -1 .IP " 2." 4.2 .\} access to the non\-global zone\'s console .sp Using the openConsole method, RAD clients can access the consoles of non\-global zones on the connected host\&. .RE .SH "INTERFACES" .SS "interface IO" .PP primary API for non\-global zone connectivity .PP The io interface provides connectivity to a zone\&. Handles to this type of object can be retrieved from the RAD server using an object name built with: .sp .RS 4 .ie n \{\ \h'-04' 1.\h'+01'\c .\} .el \{\ .sp -1 .IP " 1." 4.2 .\} the "com\&.oracle\&.solaris\&.rad\&.zonesbridge" domain name .RE .sp .RS 4 .ie n \{\ \h'-04' 2.\h'+01'\c .\} .el \{\ .sp -1 .IP " 2." 4.2 .\} a key named "type" paired with a value of "IO" .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBIO Methods\fR .RS 4 .nf .HP \w'rc_err_t\ \fBzonesbridge_IO_available\fR('u .R rc_err_t \fBzonesbridge_IO_available\fR(rc_instance_t\ *inst, . long\ long\ token, . int\ *result, . zonesbridge_ZonesBridgeError_t\ **error); .RS .RE .fi .\" blockquote { .RS 4 .PP get the number of bytes available .PP Gets the number of bytes available to be read, without blocking, on the connection identified by the given token\&. .PP \fBArguments:\fR .PP \fIinst\fR \(em RAD instance .PP \fItoken\fR \(em the token identifying the open connection to query, as returned by openRad or openConsole .PP \fIresult\fR \(em a non\-negative integer .PP \fIerror\fR .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBzonesbridge_IO_close\fR('u .R rc_err_t \fBzonesbridge_IO_close\fR(rc_instance_t\ *inst, . long\ long\ token, . zonesbridge_ZonesBridgeError_t\ **error); .RS .RE .fi .\" blockquote { .RS 4 .PP close a rad connection .PP Close a connection previously opened by openRad\&. .PP \fBArguments:\fR .PP \fIinst\fR \(em RAD instance .PP \fItoken\fR \(em the token identifying the open connection to close, as returned by openRad or openConsole .PP \fIerror\fR .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBzonesbridge_IO_openConsole\fR('u .R rc_err_t \fBzonesbridge_IO_openConsole\fR(rc_instance_t\ *inst, . const\ char\ *zone, . long\ long\ *result, . zonesbridge_ZonesBridgeError_t\ **error); .RS .RE .fi .\" blockquote { .RS 4 .PP open a connection to the console of the given non\-global zone .PP openConsole can be used to connect to a non\-global zone\'s console: .PP Unlike openRad, openConsole does not require a \fBrad(8)\fR daemon to be running on the non\-global zone\&. .PP Connecting to a zone\'s console requires the solaris\&.zone\&.manage/zonename authorization\&. .PP Note that a zone\'s console is an exclusive resource that prohibits multiple simultaneous connections\&. .PP \fBArguments:\fR .PP \fIinst\fR \(em RAD instance .PP \fIzone\fR \(em the non\-global zone to connect to .PP \fIresult\fR \(em a token used to read from and write to the console .PP \fIerror\fR .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBzonesbridge_IO_openRad\fR('u .R rc_err_t \fBzonesbridge_IO_openRad\fR(rc_instance_t\ *inst, . const\ char\ *zone, . const\ char\ *user, . long\ long\ *result, . zonesbridge_ZonesBridgeError_t\ **error); .RS .RE .fi .\" blockquote { .RS 4 .PP open a connection to the rad server on the given non\-global zone .PP openRad is rarely invoked directly\&. Instead, a connection is usually established through the RAD infrastructure: .PP Here, the radcon\&.connect_zone utility method plumbs the connection to the non\-global zone using an established, authenticated connection to the global zone\&. zcon is now authenticated as the given zone user and can be used to interact with the non\-global zone\'s \fBrad(8)\fR daemon\&. .PP Note that, for simplicity of example, gcon is created via the standard unix domain socket, an automatically authenticated connection\&. Connections to remote hosts or through other transports must be authenticated \fBbefore\fRradcon\&.connect_zone is called\&. .PP Connecting to a zone\'s \fBrad(8)\fR daemon requires the solaris\&.zone\&.manage/zonename authorization\&. .PP \fBArguments:\fR .PP \fIinst\fR \(em RAD instance .PP \fIzone\fR \(em the non\-global zone to connect to .PP \fIuser\fR (\fInullable\fR) \(em the user (local to the given zone) to connect as (root if not specified) .PP \fIresult\fR \(em a token used to read from and write to the new connection .PP \fIerror\fR .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBzonesbridge_IO_read\fR('u .R rc_err_t \fBzonesbridge_IO_read\fR(rc_instance_t\ *inst, . long\ long\ token, . int\ nbyte, . rc_opaque_t\ **result, . zonesbridge_ZonesBridgeError_t\ **error); .RS .RE .fi .\" blockquote { .RS 4 .PP read data .PP Read up to nbyte bytes from the connection identified by the given token\&. If nbyte is non\-positive, no bytes are read and a zero\-length array is returned\&. Otherwise, this method will block until at least one byte is read\&. .PP \fBArguments:\fR .PP \fIinst\fR \(em RAD instance .PP \fItoken\fR \(em the token identifying the open connection to read from, as returned by openRad or openConsole .PP \fInbyte\fR \(em a number identifying the maximum number of bytes to read .PP \fIresult\fR \(em the read data, or null if the connection identified by the given token is open but the end of the data stream has been reached .PP \fIerror\fR .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBzonesbridge_IO_write\fR('u .R rc_err_t \fBzonesbridge_IO_write\fR(rc_instance_t\ *inst, . long\ long\ token, . const\ rc_opaque_t\ *buf, . zonesbridge_ZonesBridgeError_t\ **error); .RS .RE .fi .\" blockquote { .RS 4 .PP write data .PP Write the given bytes to the connection identified by the given token\&. If that connection is open but the end of the data stream has been reached, the written data is silently discarded\&. .PP \fBArguments:\fR .PP \fIinst\fR \(em RAD instance .PP \fItoken\fR \(em the token identifying the open connection to write to, as returned by openRad or openConsole .PP \fIbuf\fR \(em the data to write .PP \fIerror\fR .RE .\" } blockquote .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBIO Retrieve\fR .RS 4 .nf .HP \w'rc_err_t\ \fBzonesbridge_IO__rad_get_name\fR('u .R rc_err_t \fBzonesbridge_IO__rad_get_name\fR(adr_name_t\ **result, . int\ n, . \&.\&.\&.); .RS .RE .fi .\" blockquote { .RS 4 .PP Obtain RAD name of a IO object\&. .PP \fBArguments:\fR .PP \fIresult\fR \(em RAD name .PP \fIn\fR \(em Number of key\-value pairs provided as variadic arguments .PP \&.\&.\&. \(em Optional key\-value pairs that compose the primary key .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBzonesbridge_IO__rad_lookup\fR('u .R rc_err_t \fBzonesbridge_IO__rad_lookup\fR(rc_conn_t\ *c, . boolean_t\ strict, . rc_instance_t\ **result, . int\ n, . \&.\&.\&.); .RS .RE .fi .\" blockquote { .RS 4 .PP Lookup a IO instance\&. .PP Construct a RAD name for the interface based on the provided key\-value pairs and perform a lookup\&. If successful, instance reference is returned in the result\&. .PP \fBArguments:\fR .PP \fIc\fR \(em RAD connection handle .PP \fIstrict\fR \(em Strict (B_TRUE) or relaxed (B_FALSE) versioning .PP \fIresult\fR \(em RAD instance .PP \fIn\fR \(em Number of key\-value pairs provided as variadic arguments .PP \&.\&.\&. \(em Optional key\-value pairs that compose the primary key .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBzonesbridge_IO__rad_list\fR('u .R rc_err_t \fBzonesbridge_IO__rad_list\fR(rc_conn_t\ *c, . boolean_t\ strict, . adr_pattern_scheme_t\ scheme, . adr_name_t\ ***result, . int\ *result_count, . int\ n, . \&.\&.\&.); .RS .RE .fi .\" blockquote { .RS 4 .PP List RAD names of a available IO instances\&. .PP Returns an array and array size of matching object names\&. .PP \fBArguments:\fR .PP \fIc\fR \(em RAD connection handle .PP \fIstrict\fR \(em Strict (B_TRUE) or relaxed (B_FALSE) versioning .PP \fIscheme\fR \(em Apply glob (NS_GLOB) or regex (NS_REGEX) matching .PP \fIresult\fR \(em Array of RAD names .PP \fIresult_count\fR \(em Number of names in result array .PP \fIn\fR \(em Number of key\-value pairs provided as variadic arguments .PP \&.\&.\&. \(em Optional key\-value pairs that compose the primary key .RE .\" } blockquote .RE .SS "interface Util" .PP utility API for zone\-related functionality .PP The util interface provides utility methods related to zone connectivity\&. Handles to this type of object can be retrieved from the RAD server using an object name built with: .sp .RS 4 .ie n \{\ \h'-04' 1.\h'+01'\c .\} .el \{\ .sp -1 .IP " 1." 4.2 .\} the "com\&.oracle\&.solaris\&.rad\&.zonesbridge" domain name .RE .sp .RS 4 .ie n \{\ \h'-04' 2.\h'+01'\c .\} .el \{\ .sp -1 .IP " 2." 4.2 .\} a key named "type" paired with a value of "Util" .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBUtil Methods\fR .RS 4 .nf .HP \w'rc_err_t\ \fBzonesbridge_Util_getZones\fR('u .R rc_err_t \fBzonesbridge_Util_getZones\fR(rc_instance_t\ *inst, . zonesbridge_ZoneState_t\ state, . char\ ***result, . int\ *result_cnt); .RS .RE .fi .\" blockquote { .RS 4 .PP get non\-global zones in the given state .PP Gets the names of the non\-global zones in the given state\&. .PP \fBArguments:\fR .PP \fIinst\fR \(em RAD instance .PP \fIstate\fR \(em the state of the returned zones .PP \fIresult\fR .PP \fIresult_cnt\fR \(em Number of items in result array .RE .\" } blockquote .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBUtil Retrieve\fR .RS 4 .nf .HP \w'rc_err_t\ \fBzonesbridge_Util__rad_get_name\fR('u .R rc_err_t \fBzonesbridge_Util__rad_get_name\fR(adr_name_t\ **result, . int\ n, . \&.\&.\&.); .RS .RE .fi .\" blockquote { .RS 4 .PP Obtain RAD name of a Util object\&. .PP \fBArguments:\fR .PP \fIresult\fR \(em RAD name .PP \fIn\fR \(em Number of key\-value pairs provided as variadic arguments .PP \&.\&.\&. \(em Optional key\-value pairs that compose the primary key .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBzonesbridge_Util__rad_lookup\fR('u .R rc_err_t \fBzonesbridge_Util__rad_lookup\fR(rc_conn_t\ *c, . boolean_t\ strict, . rc_instance_t\ **result, . int\ n, . \&.\&.\&.); .RS .RE .fi .\" blockquote { .RS 4 .PP Lookup a Util instance\&. .PP Construct a RAD name for the interface based on the provided key\-value pairs and perform a lookup\&. If successful, instance reference is returned in the result\&. .PP \fBArguments:\fR .PP \fIc\fR \(em RAD connection handle .PP \fIstrict\fR \(em Strict (B_TRUE) or relaxed (B_FALSE) versioning .PP \fIresult\fR \(em RAD instance .PP \fIn\fR \(em Number of key\-value pairs provided as variadic arguments .PP \&.\&.\&. \(em Optional key\-value pairs that compose the primary key .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBzonesbridge_Util__rad_list\fR('u .R rc_err_t \fBzonesbridge_Util__rad_list\fR(rc_conn_t\ *c, . boolean_t\ strict, . adr_pattern_scheme_t\ scheme, . adr_name_t\ ***result, . int\ *result_count, . int\ n, . \&.\&.\&.); .RS .RE .fi .\" blockquote { .RS 4 .PP List RAD names of a available Util instances\&. .PP Returns an array and array size of matching object names\&. .PP \fBArguments:\fR .PP \fIc\fR \(em RAD connection handle .PP \fIstrict\fR \(em Strict (B_TRUE) or relaxed (B_FALSE) versioning .PP \fIscheme\fR \(em Apply glob (NS_GLOB) or regex (NS_REGEX) matching .PP \fIresult\fR \(em Array of RAD names .PP \fIresult_count\fR \(em Number of names in result array .PP \fIn\fR \(em Number of key\-value pairs provided as variadic arguments .PP \&.\&.\&. \(em Optional key\-value pairs that compose the primary key .RE .\" } blockquote .RE .SH "ENUMERATED TYPES" .PP \fBenum ZonesBridgeErrorCode\fR .\" blockquote { .RS 4 .PP .nf typedef enum zonesbridge_ZonesBridgeErrorCode { ZZBEC_NONE = 0, ZZBEC_INVALID_TOKEN = 1, ZZBEC_INVALID_ZONE = 2, ZZBEC_INVALID_ZONE_PLATFORM = 3, ZZBEC_INVALID_ZONE_STATE = 4, ZZBEC_COMMAND_FAILED = 5, } zonesbridge_ZonesBridgeErrorCode_t; .fi .RE .\" } blockquote .\" blockquote { .RS 4 .PP ZZBEC_NONE (0) .PP ZZBEC_INVALID_TOKEN (1) \(em if the given token is invalid or refers to a closed connection .PP ZZBEC_INVALID_ZONE (2) \(em if the given zone is invalid .PP ZZBEC_INVALID_ZONE_PLATFORM (3) \(em if the given zone\'s platform is inappropriate for the requested platform\-specific operation .PP ZZBEC_INVALID_ZONE_STATE (4) \(em if the given zone\'s state is inappropriate for the requested operation .PP ZZBEC_COMMAND_FAILED (5) \(em if a command to effect changes to or retrieve configuration from the system fails .RE .\" } blockquote .PP \fBenum ZoneState\fR .\" blockquote { .RS 4 .PP .nf typedef enum zonesbridge_ZoneState { ZZS_CONFIGURED = 0, ZZS_INCOMPLETE = 1, ZZS_INSTALLED = 2, ZZS_READY = 3, ZZS_RUNNING = 4, ZZS_SHUTTING_DOWN = 5, ZZS_DOWN = 6, ZZS_MOUNTED = 7, } zonesbridge_ZoneState_t; .fi .RE .\" } blockquote .\" blockquote { .RS 4 .PP ZZS_CONFIGURED (0) .PP ZZS_INCOMPLETE (1) .PP ZZS_INSTALLED (2) .PP ZZS_READY (3) .PP ZZS_RUNNING (4) .PP ZZS_SHUTTING_DOWN (5) .PP ZZS_DOWN (6) .PP ZZS_MOUNTED (7) .RE .\" } blockquote .SH "STRUCTURED TYPES" .PP \fBstruct ZonesBridgeError\fR .\" blockquote { .RS 4 .PP typedef struct zonesbridge_ZonesBridgeError zonesbridge_ZonesBridgeError_t; .PP .nf struct zonesbridge_ZonesBridgeError { zonesbridge_ZonesBridgeErrorCode_t zzbe_errorCode; }; .fi .nf .HP \w'void\ \fBzonesbridge_ZonesBridgeError_free\fR('u .R void \fBzonesbridge_ZonesBridgeError_free\fR(zonesbridge_ZonesBridgeError_t\ *in); .RS .RE .fi .RE .\" } blockquote .\" blockquote { .RS 4 .PP \fBFields:\fR .PP \fIzzbe_errorCode\fR .RE .\" } blockquote .SH "VERSION" .PP 1\&.0 .SH "ATTRIBUTES" .PP See attributes(7) for descriptions of the following attributes: .TS allbox tab(:); cB cB. T{ ATTRIBUTE TYPE T}:T{ ATTRIBUTE VALUE T} .T& l l l l. T{ Availability T}:T{ system/management/rad T} T{ Interface Stability T}:T{ Private T} .TE .sp 1 .SH "SEE ALSO" .PP \fBrad\fR(8) .SH "NOTES" .IP " 1." 4 Accessing Python documentation for this module: .sp .RS 4 .nf $ pydoc rad.bindings.com.oracle.solaris.rad.zonesbridge_1 .fi .RE