Contract Management Library Functions
ct_dev_tmpl_set_aset(3CONTRACT)
NAME
ct_dev_tmpl_set_aset, ct_dev_tmpl_get_aset,
ct_dev_tmpl_set_minor, ct_dev_tmpl_get_minor,
ct_dev_tmpl_set_noneg, ct_dev_tmpl_clear_noneg,
ct_dev_tmpl_get_noneg - device contract template functions
SYNOPSIS
cc [ flag... ] file... -D_LARGEFILE64_SOURCE -lcontract [ library... ]
#include
#include
int ct_dev_tmpl_set_aset(int fd, uint_t aset);
int ct_dev_tmpl_get_aset(int fd, uint_t *asetp);
int ct_dev_tmpl_set_minor(int fd, char *minor);
int ct_dev_tmpl_get_minor(int fd, char *buf, size_t *buflenp);
int ct_dev_tmpl_set_noneg(int fd);
int ct_dev_tmpl_clear_noneg(int fd);
int ct_dev_tmpl_get_noneg(int fd, uint_t *nonegp);
PARAMETERS
aset a bitset of one or more of device states asetp a pointer to a variable into which the currentA-set is to be returned
buf a buffer into which the minor path is to be returnedbuflenp a pointer to variable of type size_t in which the
size of the buffer buf is passed in. If the buffer is too small the size of the buffer needed for a successful call is passed back to the caller.SunOS 5.11 Last change: 9 Aug 2007 1
Contract Management Library Functionsct_dev_tmpl_set_aset(3CONTRACT)
fd a file descriptor from an open of the device con-
tract template file in the contract filesystem (ctfs) minor the devfs path (the /devices path without the "/devices" prefix) of a minor which is to be the subject of a contractnonegp a pointer to a uint_t variable for receiving the
current setting of the "nonnegotiable" term in the templateDESCRIPTION
These functions read and write device contract terms and operate on device contract template file descriptors obtained from the contract(4) filesystem (ctfs).The ct_dev_tmpl_set_aset() and ct_dev_tmpl_get_aset() func-
tions write and read the "acceptable states" set (or A-set
for short). This is the set of device states guaranteed by the contract. Any departure from these states will result in the breaking of the contract and a delivery of a criticalcontract event to the contract holder. The A-set value is a
bitset of one or more of the following device states:CT_DEV_EV_ONLINE, CT_DEV_EV_DEGRADED, and CT_DEV_EV_OFFLINE.
The ct_dev_tmpl_set_minor() and ct_dev_tmpl_get_minor()
functions write and read the minor term (the device resource that is to be the subject of the contract.) The value is adevfs path to a device minor node (minus the "/devices" pre-
fix). For the ct_dev_tmpl_get_minor() function, a buffer at
least PATH_MAX in size must be passed in. If the buffer is
smaller than PATH_MAX, then the minimum size of the buffer
required (PATH_MAX) for this function is passed back to the
caller via the buflenp argument.The ct_dev_tmpl_set_noneg() and ct_dev_tmpl_get_noneg()
functions write and read the nonnegotiable term. If thisterm is set, synchronous negotiation events are automati-
cally NACKed on behalf of the contract holder. Forct_dev_tmpl_get_noneg(), the variable pointed to by nonegp
is set to 1 if the "noneg" term is set or to 0 otherwise.The ct_dev_tmpl_clear_noneg() term clears the nonnegotiable
term from a template.SunOS 5.11 Last change: 9 Aug 2007 2
Contract Management Library Functionsct_dev_tmpl_set_aset(3CONTRACT)
RETURN VALUES
Upon successful completion, these functions return 0. Other-
wise, they return a non-zero error value.
ERRORS
The ct_dev_tmpl_set_aset() function will fail if:
EINVAL A template file descriptor or A-set is invalid
The ct_dev_tmpl_set_minor() function will fail if:
EINVAL One or more arguments is invalid. ENXIO The minor named by minor path does not exist.The ct_dev_tmpl_set_noneg() function will fail if:
EPERM A process lacks sufficient privilege to NACK a dev-
ice state change.The ct_dev_tmpl_get_aset() and ct_dev_tmpl_get_minor() func-
tions will fail if: EINVAL One or more arguments is invalid. ENOENT The requested term is not set.The ct_dev_tmpl_get_noneg() function will fail if:
EINVAL One or more arguments is invalid.The ct_dev_tmpl_get_minor() function will fail if:
EOVEFLOW The supplied buffer is too small.ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:SunOS 5.11 Last change: 9 Aug 2007 3
Contract Management Library Functionsct_dev_tmpl_set_aset(3CONTRACT)
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| MT-Level | Safe |
|_____________________________|_____________________________|
SEE ALSO
libcontract(3LIB), contract(4), devices(4), attributes(5), lfcompile(5)SunOS 5.11 Last change: 9 Aug 2007 4
Contract Management Library Functionsct_dev_tmpl_set_aset(3CONTRACT)
SunOS 5.11 Last change: 9 Aug 2007 5