Power Programming With RPC - 5ac5c41e1723dd2a828c4587
Power Programming With RPC - 5ac5c41e1723dd2a828c4587
John Bloomer
Technische Unlversitat Darmstadt
FACHBEREICH INFORMATIK
B I B L I O T H E K
Inventar-Nr.:
Sachgebiete:.
Standort:
Preface xxv
Scope of This Handbook xxvi
Some Assumptions About the Reader xxx
Software Mentioned in This Book xxx
Examples xxxii
Additional Sources of Information xxxiii
Conventions xxxiv
Acknowledgments xxxv
IX
Combining Asynchronous and Multi-tasking at the Server 268
Lightweight Processing 270
Remote Asynchronous Calls with LWP 271
A Minimal Set of LWP Routines 271
Client Multi-server Example 273
Server Multi-tasking Example 278
Caveats 282
XI
xdr_int() : 370
xdr_long() 370
xdrmem_create() 370
xdr_opaque() 371
xdr_pointer() 371
xdrrec_create() 371
xdrrec_endofrecord( ) 371
xdrrec_eof() 372
xdrrec_readbytes() 372
xdrrec_skiprecord() ; 372
xdr_reference( ) 372
xdr_setpos() 372
xdr_short() 373
xdrstdio_create( ) 373
xdr_string() 373
xdr_u_char() 373
xdr_u_int() 373
xdr_u_long() 374
xdr_union() 374
x.dr_u_short() ••• 374
xdr_vector() 374
xdr_yoid() 374
xdr_wrapstring() 375
xn
Section 3: ONC RPC Library Routines 381
Overview 381
Functional Summary 381
Building Client Authentication 381
Making the Call from the Client 382
CLIENT Handle Management 383
Server Registration With The Portmap 383
SVCXPRT Service Transport Handle Management 384
Server Side Error Handling And Reporting 384
Server I/O and Utility 385
Direct XDR Access 386
Making Secure RPCs 386
Synopsis 387
authdes_create() 387
authdes_getucred() 388
auth_destroy() 388
authnone_create() 388
authunix_create() ." 388
authunix_create_default() 388
callrpcO 389
clnt_broadcast() 389
clnt_call() 389
clnt_control() 390
clnt_create() 391
clnt_create_vers() 391
clnt_destroy() ....: 391
clnt_freeresO 391
clnt_geterr() 392
clnt_pcreateerror() 392
clnt_perrno() 392
clnt_perror() 392
clntraw_create() 392
clnt_spcreateerror() 393
clnt_sperrno() 393
clnt_sperror() 393
clnttcp_create() 393
clntudp_bufcreate() 393
clntudp_create() 394
get_myaddress() 394
getnetnameO 394
getrpcportO : 394
host2netname() 395
key_decryptsession() 395
key_encryptsession() 395
key_gendes() 396
key_setsecret() 396
netname2host() 396
netname2user() 396
registerrpcO 396
rpc_createerr 397
svc_destroy() 397
svcfd_create() 397
svc_fds 397
svc_fdset 397
svc_freeargs() 398
svc_getargs() 398
svc_getcaller() 398
svc_getreq() 398
svc_getreqset() 398
svcerr_auth() 399
svcerr_decode() 399
svcerr_noproc() 399
svcerr_noprog() 399
svcerr_progvers() 399
svcerr_systemerr() 400
svcerr_weakauth() 400
svcraw_create() 400
svc_register() 400
svc_run() 400
svc_sendreply() 401
svctcp_create() 401
svcudp_create() 401
svcudp_bufcreate() 401
svc_unregister() 402
user2netname() 402
xdr_accepted_reply() 402
xdr_authunix_parms() 402
xdr_callhdr() •. 402
xdr_callmsg() 402
xdr_opaque_auth() 403
xdr_rejected_reply() 403
xdr_replymsg() 403
xprt_register() 403
xprt_unregister() 403
Error Codes 404
xv