See Chapter 12, Trusted Security Information Exchange Library
t6mask_t t6supported_attrs(void); t6mask_t t6allocated_attrs(t6attr_t t6ctl); t6mask_t t6present_attrs(t6attr_t t6ctl); t6attr_t t6alloc_blk(t6mask_t mask); void t6free_blk(t6attr_t t6ctl); int t6sendto(int sock, const char *msg, size_t len, int flags, const struct sockaddr *name, socklen_t namelen, const t6attr_t handle); int t6recvfrom(int sock, void *buffer, size_t len, int flags, struct sockaddr *name, Psocklen_t namelenp, t6attr_t handle, t6mask_t *new_mask); int t6new_attr(int fd, t6cmd_t cmd); void *t6get_attr(t6attr_id_t attr_type, const t6attr_t t6ctl); int t6set_attr(t6attr_id_t attr_type, const void *attr, t6attr_t t6ctl); int t6peek_attr(int fd, t6attr_t attr_ptr, t6mask_t *new_attrs); int t6last_attr(int fd, t6attr_t attr_ptr, t6mask_t *new_attrs); size_t t6size_attr(t6attr_id_t attr_type, const t6attr_t t6ctl); void t6copy_blk(const t6attr_t attr_src, t6attr_t attr_dest); t6attr_t t6dup_blk(const t6attr_t attr_src); int t6cmp_blk(t6attr_t t6ctl1, t6attr_t t6ctl2); void t6clear_blk(t6mask_t mask, t6attr_t t6ctl); int t6get_endpt_default(int fd, t6mask_t *mask, t6attr_t attr); int t6set_endpt_mask(int fd, t6mask_t mask); int t6set_endpt_default(int fd, t6mask_t mask,const t6attr_t attr_ptr); int t6get_endpt_mask(int fd, t6mask_t *mask); int t6ext_attr(int fd, t6cmd_t cmd);