この付録では、プログラミングインタフェースの一覧と、相互参照する章を示します。宣言リストは、セキュリティ項目ごとにまとめられています。また、名前と章タイトルの一覧は、システムコール、カーネル関数、およびライブラリルーチンごとにまとめられています。
第 2 章「プログラミングインタフェースの概要」を参照してください。
long secconf( int name);
第 2 章「プログラミングインタフェースの概要」を参照してください。
int fgetfsattr( int fd, u_long type, void *buf_P); int fgetfattrflag( const char *path, secflgs_t *flags); int fsetfattrflag( int fildes, secflgs_t *flags); int getfattrflag( int fildes, secflgs_t *flags); int getfsattr( char *path, u_long type, void *buf_P, int len); int setfattrflag( const char *path, secflgs_t which, secflgs_t flags); int mldgetfattrflag( const char *path, secflgs_t *flags) int mldsetfattrflag( const char * path, secflgs_t which, secflgs_t flags))
第 2 章「プログラミングインタフェースの概要」を参照してください。
int getpattr( pattr_type_t type, pattr_flag_t *value); int setpattr( pattr_type_t type, pattr_flag_t value);
第 3 章「特権」を参照してください。
int fgetfpriv( int fd, priv_ftype_t type, priv_set_t *priv_set); int fsetfpriv( int fd, priv_op_t op, priv_ftype_t type, priv_set_t *priv_set); int getfpriv( char *path, priv_ftype_t type, priv_set_t *priv_set); int getppriv( priv_ptype_t type, priv_set_t *priv_set); int setfpriv( char *path, priv_op_t op, priv_ftype_t type, priv_set_t *priv_set); int setppriv( priv_op_t op, priv_ptype_t type, priv_set_t *priv_set); int setppriv( priv_op_t op, priv_ptype_t type, priv_set_t *priv_set); char* get_priv_text( const priv_t priv_id); char* priv_to_str( const priv_t priv_id); char* priv_set_to_str( priv_set_t *priv_set, const char sep, char *buf, int *blen); priv_t str_to_priv( const char *priv_name); char* str_to_priv_set( const char *priv_names, priv_set_t *priv_set, const char *sep);
第 3 章「特権」を参照してください。
PRIV_ASSERT( priv_set, priv_id) PRIV_CLEAR( priv_set, priv_id) PRIV_EMPTY( priv_set) PRIV_EQUAL( priv_set_a, Priv_set_b) PRIV_FILL( priv_set) PRIV_INTERSECT( priv_set_a, priv_set_b) PRIV_INVERSE( priv_set) PRIV_ISASSERT( priv_set, priv_id) PRIV_ISEMPTY( priv_set) PRIV_ISFULL( priv_set) PRIV_ISSUBSET( priv_set_a, priv_set_b) PRIV_TEST( priv_id, errno) PRIV_UNION( priv_set_a, priv_set_b) PRIV_XOR( priv_set_a, priv_set_b,)
第 4 章「ユーザー承認のチェック」を参照してください。
int chkauth( auth_t auth_id, char *user_name); char *auth_to_str( auth_t auth_id); auth_t str_to_auth( char *auth_name); char *auth_set_to_str( authset_t *authset, char separator); auth_set_t *str_to_auth_set( char *auth_names, *separator); void free_auth_set( auth_set_t *auth_set); char *get_auth_text( auth_t auth_id);
第 5 章「ラベル」を参照してください。
int getcmwfsrange( char *path, brange_t *range); int fgetcmwfsrange( int fd, brange_t *range);
char bltocolor( const blevel_t *label); char bltocolor_t( const blevel_t *label, const int size, char *color_name); int labelinfo( struct label_info *info); int labelvers( char **version, const int length);
char halloc( const unsigned char id); void hfree( char *hex); char *bcltoh_r( const bclabel_t *label, char *hex); har *bsltoh_r( const bslabel_t *label, char *hex); char *biltoh_r( const bilabel_t *label, char *hex);
int blequal( const blevel_t *level1, const blevel_t *level2); int bldominates( const blevel_t *level1, const blevel_t *level2); int blstrictdom( const blevel_t *level1, const blevel_t *level2); int blinrange( const blevel_t *level, const brange_t *range); void blmaximum( blevel_t *maximum_label, const blevel_t *bounding_label); void blminimum( blevel_t *minimum_label, const blevel_t *bounding_label);
int bltype( const void *label, const unsigned char type); void setbltype( void *label, const unsigned char type);
void bslhigh( bslabel_t *label); void bsllow( bslabel_t *label); void bslundef( bslabel_t *label); int bslvalid( const bslabel_t *senslabel); int blinset( const blevel_t *senslabel, const set_id *id); int bsltos( const bslabel_t *label, char **string, const int length, const int flags); int stobsl( const char *string, bslabel_t *label, const int flags, int *error); char *sbsltos( const bslabel_t *label, const int length); char *bsltoh( const bslabel_t *label); int htobcl( const char *hex, bclabel_t *label);
void bilhigh( bilabel_t *label); void billow( bilabel_t *label); void bilundef( bilabel_t *label); int bilvalid( const bilabel_t *inflabel); int biltos( const bilabel_t *label, char **string, const int length, const int flags); int stobil( const char *string, bilabel_t *label, const int flags, int *error); char *sbiltos( const bilabel_t *label, const int length); char *biltoh( const bilabel_t *label, int htobil( const char *hex, bilabel_t *label); int bilequal( const bilabel_t *label1, const bilabel_t *label2); int bildominates( const bilabel_t *label1, const bilabel_t *label2); int bimequal( const bilabel_t *label1, const bilabel_t *label2); int bimdominates( const bilabel_t *label1, bilabel *receiving_label, const bilabel_t *adding_label); void bilconjoin( bilabel *receiving_label, const bilabel_t *adding_label);
int getcmwlabel( const char *path, const bclabel_t *label); int setcmwlabel( const char *path, const bclabel_t *label, const setting_flag_t flag); int fgetcmwlabel( const int fd, bclabel_t *label); int fsetcmwlabel( const int fd, const bclabel_t *label, const setting_flag_t flag); int lgetcmwlabel( const int fd, bclabel_t *label); int lsetcmwlabel( const int fd, const bclabel_t *label, const setting_flag_t flag); int getcmwplabel( const bclabel_t *label); int setcmwplabel( const bclabel_t *label, const setting_flag_t flag); void bclhigh( bclabel_t *label); void bcllow( bclabel_t *label); void bclundef( bclabel_t *label); void getcsl( bslabel_t *destination_label, const bclabel_t *source_label); void setcsl( bclabel_t *destination_label, const bslabel_t *source_label); void getcil( bilabel_t *destination_label, const bclabel_t *source_label); void setcil( bclabel_t *destination_label, const bilabel_t *source_label); int bcltos( const bclabel_t *label, char **string, const int length, const int flags); int stobcl( const char *string, bclabel_t *label, const int flags, int *error); char *sbcltos( const bclabel_t *label, const int length); char *bcltobanner( const bclabel_t *label, struct banner_fields *fields, const int flags); bilabel_t *bcltoil( bclabel_t *label); blevel_t *biltolev( bilabel_t *label); bslabel_t *bcltosl( bclabel_t *label); char *bcltoh( const bclabel_t *label); int htobcl( const char *hex, bclabel_t *label);
第 15 章「トラステッド X ウィンドウシステム」を参照してください。
XmString Xbcltos( Display *display, const bclabel_t *cmwlabel, const Dimension width, const XmFontList fontlist, const int flags); XmString Xbsltos( Display *display, const bslabel_t *senslabel, const Dimension width, const XmFontList fontlist, const int flags); XmString Xbiltos( Display *display, const bilabel_t *inflabel, const Dimension width, const XmFontList fontlist, const int flags); XmString Xbcleartos( Display *display, const bclear_t *clearance, const Dimension width, const XmFontList fontlist, const int flags);
第 7 章「プロセス認可上限」を参照してください。
int getclearance( bclear_t *clearance); int setclearance( bclear_t *clearance); void bclearhigh( bclear_t *clearance); void bclearlow( bclear_t *clearance); void bclearundef( bclear_t *clearance); int blequal( const blevel_t *level1, const blevel_t *level2); int bldominates( const blevel_t *level1, const blevel_t *level2); int blstrictdom( const blevel_t *level1, const blevel_t *level2); int blinrange( const blevel_t *level, const brange_t *range); void blmaximum( blevel_t *maximum_label, const blevel_t *bounding_label); void blminimum( blevel_t *minimum_label, const blevel_t *bounding_label); int bltype( const void *clearance, const unsigned char type); void setbltype( void *clearance, const unsigned char type); int bclearvalid( const bclear_t *clearance); int bcleartos( const bclear_t *clearance, char **string, const int len, const int flags); int stobclear( const char *string, bclear_t *clearance,const int flags, int *error); char* sbcleartos( const bclear_t *clearance, const int len); char *bcleartoh( const bclear_t *clearance); int htobclear( const char *s, bclear_t *clearance); char *h_alloc( const unsigned char id); void h_free( char *hex); char *bcleartoh_r( const bclear_t *clearance, char *hex);
第 9 章「アプリケーション監査」を参照してください。
int auditwrite( ..., AW_END);
第 8 章「マルチレベルディレクトリ」と第 2 章「プログラミングインタフェースの概要」を参照してください。
int getsldname( const char *path_name, const bslabel_t *slabel, char *name_buf, const int len); int fgetsldname( const int fd, const bslabel_t *slabel_p, char *name_buf, const int len); int getmldadorn( const char *path_name, char *adorn_buf); int fgetmldadorn( const int fd, char adorn_buf); int mldstat( const char *path_name,struct stat *stat_buf); int mldlstat( const char *path_name, struct stat *stat_buf); char* mldgetcwd( char *buf, size_t size); int adornfc( const char *path_namechar *adorned_name); char* mldrealpath( const char *path_name, char *resolved_path); char * mldrealpathl( const char *path_name, char *resolved_path, const bslabel_t *senslabel); /* 第 2 章「プログラミングインタフェースの概要」を参照してください */ int mldgetfattrflag( const char *path, secflgs_t *flags) int mldsetfattrflag( const char * path, secflgs_t which, secflgs_t flags))
第 10 章「ユーザーとプロファイルのデータベースエントリへのアクセス」を参照してください。
userent_t *getuserentbyname(char *user, int src); userent_t *getuserentbyuid(uid_t uid, int src); void setuserent(int stayopen, int src); userent_t *getuserent(int src); void enduserent(int src); void free_userent(userent_t *userent); profstr_t *getprofstrbyname(char *name, int src); profent_t *getprofentbyname(char *name, int src); void setprofstr(int stayopen, int src); void setprofent(int stayopen, int src); profstr_t *getprofstr(int src); profent_t *getprofent(int src); void endprofstr(int src); void endprofent(int src); void free_profstr(profstr_t *profent); void free_profent(profent_t *profent);
第 12 章「System V のプロセス間通信」を参照してください。
int getmsgqcmwlabel( int msqid, bclabel_t *cmwlabel); int msggetl( key_t key, int msgflg, bslabel_t *senslabel); int msgsndl( int msqid, const void *msgp, size_t msgsz, int msgflg, bilabel_t *inflabel); int msgrcvl( int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg, bilabel_t *inflabel);
int getsemcmwlabel( int semid, bclabel_t *cmwlabel); int semgetl( key_t key, int nsems, int semflg, bslabel_t *senslabel); int semopl( int semid, struct sembuf *sops, size_t nsops, bilable_t *inflabel);
int getshmcmwlabel( int shmid, bclabel_t *cmwlabel); int shmgetl( key_t key, size_t size, int shmflg,bslabel_t *senslabel);
第 13 章「トラステッドセキュリティ情報交換ライブラリ」を参照してください。
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 *new_attrs); void t6free_blk( t6attr_t t6ctl); int t6sendto( int sock, const char *msg, int len, int flags, const struct sockaddr *to, int tolen, const t6attr_t *attr_ptr); int t6recvfrom( int sock, char *buf, int len, int flags, struct sockaddr *from, int *fromlen, t6attr_t *attr_ptr, t6mask_t *new_attrs); int t6new_attr( int sock, 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 sock, t6attr_t attr_ptr, t6mask_t *new_attrs); int t6last_attr( int sock, 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 sock, t6mask_t *mask, t6attr_t attr); int t6set_endpt_mask( int sock, t6mask_t mask); int t6set_endpt_default( int sock, t6mask_t mask,const t6attr_t attr_ptr); int t6get_endpt_mask( int sock, t6mask_t *mask); int t6ext_attr( int fd, t6cmd_t cmd);
遠隔手続き呼び出し (RPC) 用の Trusted Solaris インタフェースはありません。RPC インタフェースは、Trusted Solaris システム内で動作するように変更されます。概要と簡単なアプリケーション例は、第 14 章「遠隔手続き呼び出し」を参照してください。
第 16 章「ラベルビルダー」を参照してください。
ModLabelData *tsol_lbuild_create( Widget widget, void (*event_handler)() OK_callback, ..., NULL); void tsol_lbuild_destroy( ModLabelData *lbdata); XtPointer tsol_lbuild_get( ModLabelData *lbdata, ..., NULL); void tsol_lbuild_set( ModLabelData *lbdata, extended_operation, NULL);
第 15 章「トラステッド X ウィンドウシステム」を参照してください。
Status XTSOLgetResAttributes( Display *display, XID object, ResourceType resourceFlag, XTsolResAttributes *resattrp); Status XTSOLgetPropAttributes( Display *display, Window win, Atom property, XTsolPropAttributes *propattrp); Status XTSOLgetClientAttributes( Display *display, XID win, XTsolClientAttributes *clientattrp); Status XTSOLgetResLabel( Display *display, XID object, ResourceType resourceFlag, bclabel_t *cmwlabel); void XTSOLsetResLabel( Display *display, XID object, ResourceType resourceFlag, bclabel_t *cmwLabel, enum setting_flag labelFlag); Status XTSOLgetResUID( Display *display, XID object, ResourceType resourceFlag, uid_t *uidp); void XTSOLsetResUID( Display *display, XID object, ResourceType resourceFlag, uid_t *uidp); Status XTSOLgetWindowIIL( Display *display, Window win, bilabel_t *label); void XTSOLsetWindowIIL( Diplay *display, Window win, bilabel_t *label); Status XTSOLgetPropLabel( Display *display, Window win, Atom property, bclabel_t *cmwlabel); void XTSOLsetPropLabel( Display *display, Window win, Atom property, bclabel_t *cmwLabel, enum setting_flag labelFlag); Status XTSOLgetPropUID( Display *display, Window winID, Atom property, uid_t *uidp); void XTSOLsetPropUID( Display *display, Window win, Atom property, uid_t *uidp); Status XTSOLgetWorkstationOwner( Display *display, uid_t *uidp); void XTSOLsetWorkstationOwner( Display *display, uid_t *uidp); void XTSOLsetSessionHI( Display *display, bclear_t *clearance); void XTSOLsetSessionLO( Display *display, bslabel_t *sl) void XTSOLMakeTPWindow( Display *dpy, Window win); Bool XTSOLIsWindowTrusted( Display *display, Window win); Status XTSOLgetSSHeight( Display *display, int screen_num, int *newHeight); void XTSOLsetSSHeight( Display *display, int screen_num, int newHeight); void XTSOLsetPolyInstInfo( Display *dpy, bslabel_t *senslabel, uid_t *userID, int enabled);
これらのインタフェースは、トラステッド streams を作成するカーネルインタフェースです。詳細は、マニュアルページを参照してください。将来は、このマニュアル内でこれらの説明を記載する可能性があります。
int putpmsgattr( int filedes, const struct strbug *ctlptr, const struct strbuf *dataptr, struct tpri *tprip, tsol_tnattrs_t *attrs); int getpmsgattr( int filedes, struct strbuf *ctlptr, struct strbuf *dataptr, struct tpri *tprip, tsol_tnattrs_t *attrs), int tsol_linkb( mblk_t *mp1, mblk_t *mp2), int tsol_putctl( queue_t *g, int type, str_attr_t *attrs), int tsol_putctl1( queue_t *g, int type, int p, str_attr_t *attrs), int tsol_putnextctl( queue_t *g, int type, str_attr_t *attrs), int tsol_putnextctl1( queue_t *g, int type, int p, str_attr_t *attrs), int tsol_get_strattr( mblk_t *mp); void tsol_set_strattr( mblk_t *mp, tsol_strattr_t *strattr); void tsol_rele_strattr( mblk_t *mp);
このシステムコール一覧はアルファベット順に並んでおり、そのインタフェースが説明されているこのマニュアル内の章番号またはタイトルを示しています。この情報を使用して、前述の項目ごとの一覧に示されたインタフェース宣言を探すこともできます。
表 B-1 システムコール
プログラミングインタフェース |
参照箇所 |
---|---|
fgetcmwfsrange(2) | |
fgetcmwlabel(2) | |
fgetfattrflag(2) | |
fgetfpriv(2) | |
fgetfsattr(2) | |
fgetmldadorn(2) | |
fgetsldname(2) | |
fsetcmwlabel(2) | |
fsetfattrflag(2) | |
fsetfpriv(2) | |
getclearance(2) | |
getcmwfsrange(2) | |
getcmwlabel(2) | |
getcmwplabel(2) | |
getfattrflag(2) | |
getfpriv(2) | |
getfsattr(2) | |
getmldadorn(2) | |
getmsgqcmwlabel(2) | |
getpattr(2) | |
getpmsgattr() | |
getppriv(2) | |
getsemcmwlabel(2) | |
getshmcmwlabel(2) | |
getsldname(2) | |
lgetcmwlabel(2) | |
lsetcmwlabel(2) | |
mldgetfattrflag(2) | |
mldsetfattrflag(2) | |
mldstat(2) | |
mldlstat(2) | |
msggetl(2) | |
msgrcvl(2) | |
msgsndl(2) | |
putpmsgattr(2) | |
secconf(2) | |
semgetl(2) | |
semopl(2) | |
setclearance(2) | |
setcmwlabel(2) | |
setcmwplabel(2) | |
setfattrflag(2) | |
setfpriv(2) | |
setpattr(2) | |
setppriv(2) | |
shmgetl(2) |
このトラステッドカーネル関数一覧は、アルファベット順に並んでいます。詳細は、マニュアルページまたは 「トラステッド streams」を参照してください。将来は、このマニュアル内でこれらの説明を記載する可能性があります。
tsol_get_strattr(9F)
tsol_linkb(9F)
tsol_putctl(9F)
tsol_putctl1(9F)
tsol_putnextctl(9F)
tsol_putnextctl1(9F)
tsol_set_strattr(9F)
このライブラリルーチン一覧はアルファベット順に並んでおり、そのインタフェースが説明されているこのマニュアル内の章番号とタイトルを示しています。この情報を使用して、前述の項目ごとの一覧に示されたインタフェース宣言を探すこともできます。
表 B-2 ライブラリルーチン
ライブラリルーチン |
参照箇所 |
---|---|
adornfc(3) | |
auditwrite(3) | |
auth_set_to_str(3) | |
auth_to_str(3) | |
bclearhigh(3) | |
bclearlow(3) | |
bcleartoh(3) | |
bcleartoh_r(3) | |
bcleartos(3) | |
bclearundef(3) | |
bclearvalid(3) | |
bclhigh(3) | |
bcllow(3) | |
bcltobanner(3) | |
bcltoh(3) | |
bcltoh_r(3) | |
bcltoil(3) | |
bcltos(3) | |
bcltosl(3) | |
bclundef(3) | |
bilconjoin(3) | |
bildominates(3) | |
bilequal(3) | |
bilhigh(3) | |
billow(3) | |
biltoh(3) | |
biltoh_r(3) | |
biltolev(3) | |
biltos(3) | |
bilundef(3) | |
bilvalid(3) | |
bimdominates(3) | |
bimequal(3) | |
bldominates(3) | |
blequal(3) | |
blinrange(3) | |
blinset(3) | |
blmaximum(3) | |
blminimum(3) | |
blmanifest(3) | |
blportion(3) | |
blstrictdom(3) | |
bltocolor(3) | |
bltype(3) | |
bslhigh(3) | |
bsllow(3) | |
bsltoh(3) | |
bsltoh_r(3) | |
bsltos(3) | |
bslundef(3) | |
bslvalid(3) | |
chkauth(3) | |
cmw_accred_dialog(3) | |
cmw_lbuild_create(3) | |
cmw_lbuild_destroy(3) | |
cmw_lbuild_get(3) | |
cmw_lbuild_set(3) | |
endprofent(3) | |
endprofstr(3) | |
enduserent(3) | |
free_auth_set(3) | |
free_profent(3) | |
free_profstr(3) | |
free_userent(3) | |
get_auth_text(3) | |
get_priv_text(3) | |
getcil(3) | |
getcsl(3) | |
getprofent(3) | |
getprofentbyname(3) | |
getprofstr(3) | |
getprofstrbyname(3) | |
getuserent(3) | |
getuserentbyname(3) | |
getuserentbyuid(3) | |
h_alloc(3) | |
h_free(3) | |
htobcl(3) | |
htobclear(3) | |
htobil(3) | |
htobsl(3) | |
labelinfo(3) | |
labelvers(3) | |
mldgetcwd(3) | |
mldrealpath(3) | |
priv_set_to_str(3) | |
priv_to_str(3) | |
sbcleartos(3) | |
sbcltos(3) | |
sbiltos(3) | |
sbsltos(3) | |
set_effective_priv(3) | |
set_inheritable_priv(3) | |
set_permitted_priv(3) | |
setbltype(3) | |
setcil(3) | |
setcsl(3) | |
setprofent(3) | |
setprofstr(3) | |
setuserent(3) | |
stobcl(3) | |
stobclear(3) | |
stobil(3) | |
stobsl(3) | |
str_to_auth(3) | |
str_to_auth_set(3) | |
str_to_priv(3) | |
str_to_priv_set(3) | |
t6alloc_blk(3N) | |
t6allocated_attrs(3N) | |
t6clear_blk(3N) | |
t6cmp_blk(3N) | |
t6copy_blk(3N) | |
t6dup_blk(3N) | |
t6ext_attr(3N) | |
t6free_blk(3N) | |
t6get_attr(3N) | |
t6get_endpt_default(3N) | |
t6get_endpt_mask(3N) | |
t6last_attr(3N) | |
t6new_attr(3N) | |
t6peek_attr(3N) | |
t6present_attrs(3N) | |
t6recvfrom(3N) | |
t6sendto(3N) | |
t6set_endpt_default(3N) | |
t6set_endpt_mask(3N) | |
t6size_attr(3N) | |
t6supported_attrs(3N) | |
t6set_attr(3N) | |
Xbcleartos(3) | |
Xbcltos(3) | |
Xbiltos(3) | |
Xbsltos(3) | |
XTSOLIsWindowTrusted(3X11TSOL) | |
XTSOLMakeTPWindow(3X11TSOL) | |
XTSOLgetClientAttributes(3X11TSOL) | |
XTSOLgetPropAttributes(3X11TSOL) | |
XTSOLgetPropLabel(3X11TSOL) | |
XTSOLgetPropUID(3X11TSOL) | |
XTSOLgetResAttributes(3X11TSOL) | |
XTSOLgetResLabel(3X11TSOL) | |
XTSOLgetResUID(3X11TSOL) | |
XTSOLgetSSHeight(3X11TSOL) | |
XTSOLgetWindowIIL(3X11TSOL) | |
XTSOLgetWorkstationOwner(3X11TSOL) | |
XTSOLsetPolyInstInfo(3X11TSOL) | |
XTSOLsetPropLabel(3X11TSOL) | |
XTSOLsetPropUID(3X11TSOL) | |
XTSOLsetResLabel(3X11TSOL) | |
XTSOLsetResUID(3X11TSOL) | |
XTSOLsetSSHeight(3X11TSOL) | |
XTSOLsetSessionHI(3X11TSOL) | |
XTSOLsetSessionLO(3X11TSOL) | |
XTSOLsetWindowIIL(3X11TSOL) | |
XTSOLsetWorkstationOwner(3X11TSOL) |