|
|
DataMuseum.dkPresents historical artifacts from the history of: RC9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: r
Length: 5838 (0x16ce)
Names: »rpc.3n«
└─⟦50656ff4a⟧ Bits:30010538 TX 3.1 Coldstart
└─⟦bbf173f5c⟧ »0004«
└─⟦this⟧ »./usr/man/cat3/rpc.3n«
0x0000…0020 0a 0a 0a 5f 08 4f 5f 08 6e 5f 08 6c 5f 08 69 5f 08 6e 5f 08 65 20 5f 08 4d 5f 08 61 5f 08 6e 5f ┆ _ O_ n_ l_ i_ n_ e _ M_ a_ n_┆ 0x0020…0040 08 75 5f 08 61 5f 08 6c 20 20 20 20 20 20 20 20 20 20 20 4c 69 62 72 61 72 79 20 46 75 6e 63 74 ┆ u_ a_ l Library Funct┆ 0x0040…0060 69 6f 6e 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 70 63 28 33 6e 29 0a 0a 0a 0a ┆ions rpc(3n) ┆ 0x0060…0080 4e 08 4e 08 4e 08 4e 41 08 41 08 41 08 41 4d 08 4d 08 4d 08 4d 45 08 45 08 45 08 45 0a 20 20 20 ┆N N N NA A A AM M M ME E E E ┆ 0x0080…00a0 20 20 72 70 63 20 2d 20 6c 69 62 72 61 72 79 20 72 6f 75 74 69 6e 65 73 20 66 6f 72 20 72 65 6d ┆ rpc - library routines for rem┆ 0x00a0…00c0 6f 74 65 20 70 72 6f 63 65 64 75 72 65 20 63 61 6c 6c 73 0a 0a 44 08 44 08 44 08 44 45 08 45 08 ┆ote procedure calls D D D DE E ┆ 0x00c0…00e0 45 08 45 53 08 53 08 53 08 53 43 08 43 08 43 08 43 52 08 52 08 52 08 52 49 08 49 08 49 08 49 50 ┆E ES S S SC C C CR R R RI I I IP┆ 0x00e0…0100 08 50 08 50 08 50 54 08 54 08 54 08 54 49 08 49 08 49 08 49 4f 08 4f 08 4f 08 4f 4e 08 4e 08 4e ┆ P P PT T T TI I I IO O O ON N N┆ 0x0100…0120 08 4e 0a 20 20 20 20 20 54 68 65 73 65 20 72 6f 75 74 69 6e 65 73 20 61 6c 6c 6f 77 20 43 20 70 ┆ N These routines allow C p┆ 0x0120…0140 72 6f 67 72 61 6d 73 20 74 6f 20 6d 61 6b 65 20 70 72 6f 63 65 64 75 72 65 20 63 61 6c 6c 73 20 ┆rograms to make procedure calls ┆ 0x0140…0160 6f 6e 0a 20 20 20 20 20 6f 74 68 65 72 20 6d 61 63 68 69 6e 65 73 20 61 63 72 6f 73 73 20 74 68 ┆on other machines across th┆ 0x0160…0180 65 20 6e 65 74 77 6f 72 6b 2e 20 20 46 69 72 73 74 2c 20 74 68 65 20 63 6c 69 65 6e 74 20 63 61 ┆e network. First, the client ca┆ 0x0180…01a0 6c 6c 73 0a 20 20 20 20 20 61 20 70 72 6f 63 65 64 75 72 65 20 74 6f 20 73 65 6e 64 20 61 20 64 ┆lls a procedure to send a d┆ 0x01a0…01c0 61 74 61 20 70 61 63 6b 65 74 20 74 6f 20 74 68 65 20 73 65 72 76 65 72 2e 20 20 55 70 6f 6e 0a ┆ata packet to the server. Upon ┆ 0x01c0…01e0 20 20 20 20 20 72 65 63 65 69 70 74 20 6f 66 20 74 68 65 20 70 61 63 6b 65 74 2c 20 74 68 65 20 ┆ receipt of the packet, the ┆ 0x01e0…0200 73 65 72 76 65 72 20 63 61 6c 6c 73 20 61 20 64 69 73 70 61 74 63 68 20 72 6f 75 74 69 6e 65 0a ┆server calls a dispatch routine ┆ 0x0200…0220 20 20 20 20 20 74 6f 20 70 65 72 66 6f 72 6d 20 74 68 65 20 72 65 71 75 65 73 74 65 64 20 73 65 ┆ to perform the requested se┆ 0x0220…0240 72 76 69 63 65 2c 20 61 6e 64 20 74 68 65 6e 20 73 65 6e 64 73 20 62 61 63 6b 20 61 0a 20 20 20 ┆rvice, and then sends back a ┆ 0x0240…0260 20 20 72 65 70 6c 79 2e 20 20 46 69 6e 61 6c 6c 79 2c 20 74 68 65 20 70 72 6f 63 65 64 75 72 65 ┆ reply. Finally, the procedure┆ 0x0260…0280 20 63 61 6c 6c 20 72 65 74 75 72 6e 73 20 74 6f 20 74 68 65 20 63 6c 69 65 6e 74 2e 0a 0a 46 08 ┆ call returns to the client. F ┆ 0x0280…02a0 46 08 46 08 46 55 08 55 08 55 08 55 4e 08 4e 08 4e 08 4e 43 08 43 08 43 08 43 54 08 54 08 54 08 ┆F F FU U U UN N N NC C C CT T T ┆ 0x02a0…02c0 54 49 08 49 08 49 08 49 4f 08 4f 08 4f 08 4f 4e 08 4e 08 4e 08 4e 53 08 53 08 53 08 53 0a 20 20 ┆TI I I IO O O ON N N NS S S S ┆ 0x02c0…02e0 20 20 20 61 75 74 68 5f 64 65 73 74 72 6f 79 28 29 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 ┆ auth_destroy() de┆ 0x02e0…0300 73 74 72 6f 79 20 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 20 69 6e 66 6f 72 6d 61 74 69 6f 6e ┆stroy authentication information┆ 0x0300…0320 20 68 61 6e 64 6c 65 0a 20 20 20 20 20 61 75 74 68 6e 6f 6e 65 5f 63 72 65 61 74 65 28 29 20 20 ┆ handle authnone_create() ┆ 0x0320…0340 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 52 50 43 20 61 75 74 68 65 6e 74 69 63 61 74 69 6f ┆ return RPC authenticatio┆ 0x0340…0360 6e 20 68 61 6e 64 6c 65 20 77 69 74 68 20 6e 6f 20 63 68 65 63 6b 69 6e 67 0a 20 20 20 20 20 61 ┆n handle with no checking a┆ 0x0360…0380 75 74 68 75 6e 69 78 5f 63 72 65 61 74 65 28 29 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e ┆uthunix_create() return┆ 0x0380…03a0 20 52 50 43 20 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 20 68 61 6e 64 6c 65 20 77 69 74 68 20 ┆ RPC authentication handle with ┆ 0x03a0…03c0 55 4e 49 58 20 70 65 72 6d 69 73 73 69 6f 6e 73 0a 20 20 20 20 20 61 75 74 68 75 6e 69 78 5f 63 ┆UNIX permissions authunix_c┆ 0x03c0…03e0 72 65 61 74 65 5f 64 65 66 61 75 6c 74 28 29 20 20 72 65 74 75 72 6e 20 64 65 66 61 75 6c 74 20 ┆reate_default() return default ┆ 0x03e0…0400 55 4e 49 58 20 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 20 68 61 6e 64 6c 65 0a 20 20 20 20 20 ┆UNIX authentication handle ┆ 0x0400…0420 63 61 6c 6c 72 70 63 28 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6c 6c 20 ┆callrpc() call ┆ 0x0420…0440 72 65 6d 6f 74 65 20 70 72 6f 63 65 64 75 72 65 2c 20 67 69 76 65 6e 20 5b 70 72 6f 67 6e 75 6d ┆remote procedure, given [prognum┆ 0x0440…0460 2c 76 65 72 73 6e 75 6d 2c 70 72 6f 63 6e 75 6d 5d 0a 20 20 20 20 20 63 6c 6e 74 5f 62 72 6f 61 ┆,versnum,procnum] clnt_broa┆ 0x0460…0480 64 63 61 73 74 28 29 20 20 20 20 20 20 20 20 20 20 20 62 72 6f 61 64 63 61 73 74 20 72 65 6d 6f ┆dcast() broadcast remo┆ 0x0480…04a0 74 65 20 70 72 6f 63 65 64 75 72 65 20 63 61 6c 6c 20 65 76 65 72 79 77 68 65 72 65 0a 20 20 20 ┆te procedure call everywhere ┆ 0x04a0…04c0 20 20 63 6c 6e 74 5f 63 61 6c 6c 28 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6c ┆ clnt_call() cal┆ 0x04c0…04e0 6c 20 72 65 6d 6f 74 65 20 70 72 6f 63 65 64 75 72 65 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 ┆l remote procedure associated wi┆ 0x04e0…0500 74 68 20 63 6c 69 65 6e 74 20 68 61 6e 64 6c 65 0a 20 20 20 20 20 63 6c 6e 74 5f 64 65 73 74 72 ┆th client handle clnt_destr┆ 0x0500…0520 6f 79 28 29 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 73 74 72 6f 79 20 63 6c 69 65 6e 74 27 ┆oy() destroy client'┆ 0x0520…0540 73 20 52 50 43 20 68 61 6e 64 6c 65 0a 20 20 20 20 20 63 6c 6e 74 5f 66 72 65 65 72 65 73 28 29 ┆s RPC handle clnt_freeres()┆ 0x0540…0560 20 20 20 20 20 20 20 20 20 20 20 20 20 66 72 65 65 20 64 61 74 61 20 61 6c 6c 6f 63 61 74 65 64 ┆ free data allocated┆ 0x0560…0580 20 62 79 20 52 50 43 2f 58 44 52 20 73 79 73 74 65 6d 20 77 68 65 6e 20 64 65 63 6f 64 69 6e 67 ┆ by RPC/XDR system when decoding┆ 0x0580…05a0 20 72 65 73 75 6c 74 73 0a 20 20 20 20 20 63 6c 6e 74 5f 67 65 74 65 72 72 28 29 20 20 20 20 20 ┆ results clnt_geterr() ┆ 0x05a0…05c0 20 20 20 20 20 20 20 20 20 63 6f 70 79 20 65 72 72 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 ┆ copy error information ┆ 0x05c0…05e0 66 72 6f 6d 20 63 6c 69 65 6e 74 20 68 61 6e 64 6c 65 20 74 6f 20 65 72 72 6f 72 20 73 74 72 75 ┆from client handle to error stru┆ 0x05e0…0600 63 74 75 72 65 0a 20 20 20 20 20 63 6c 6e 74 5f 70 63 72 65 61 74 65 65 72 72 6f 72 28 29 20 20 ┆cture clnt_pcreateerror() ┆ 0x0600…0620 20 20 20 20 20 20 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 74 6f 20 73 74 64 65 72 72 20 61 62 ┆ print message to stderr ab┆ 0x0620…0640 6f 75 74 20 77 68 79 20 63 6c 69 65 6e 74 20 68 61 6e 64 6c 65 20 63 72 65 61 74 69 6f 6e 20 66 ┆out why client handle creation f┆ 0x0640…0660 61 69 6c 65 64 0a 20 20 20 20 20 63 6c 6e 74 5f 70 65 72 72 6e 6f 28 29 20 20 20 20 20 20 20 20 ┆ailed clnt_perrno() ┆ 0x0660…0680 20 20 20 20 20 20 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 74 6f 20 73 74 64 65 72 72 20 63 6f ┆ print message to stderr co┆ 0x0680…06a0 72 72 65 73 70 6f 6e 69 6e 67 20 74 6f 20 63 6f 6e 64 69 74 69 6f 6e 20 67 69 76 65 6e 0a 20 20 ┆rresponing to condition given ┆ 0x06a0…06c0 20 20 20 63 6c 6e 74 5f 70 65 72 72 6f 72 28 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 ┆ clnt_perror() pr┆ 0x06c0…06e0 69 6e 74 20 6d 65 73 73 61 67 65 20 74 6f 20 73 74 64 65 72 72 20 61 62 6f 75 74 20 77 68 79 20 ┆int message to stderr about why ┆ 0x06e0…0700 52 50 43 20 63 61 6c 6c 20 66 61 69 6c 65 64 0a 20 20 20 20 20 63 6c 6e 74 5f 73 70 65 72 72 6e ┆RPC call failed clnt_sperrn┆ 0x0700…0720 6f 28 29 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 74 6f ┆o() print message to┆ 0x0720…0740 20 61 20 73 74 72 69 6e 67 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 63 6f 6e 64 69 ┆ a string corresponding to condi┆ 0x0740…0760 74 69 6f 6e 20 67 69 76 65 6e 0a 20 20 20 20 20 63 6c 6e 74 5f 73 70 65 72 72 6f 72 28 29 20 20 ┆tion given clnt_sperror() ┆ 0x0760…0780 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 20 6d 65 73 73 61 67 65 20 74 6f 20 61 20 73 74 ┆ print message to a st┆ 0x0780…07a0 72 69 6e 67 0a 20 20 20 20 20 63 6c 6e 74 72 61 77 5f 63 72 65 61 74 65 28 29 20 20 20 20 20 20 ┆ring clntraw_create() ┆ 0x07a0…07c0 20 20 20 20 20 63 72 65 61 74 65 20 74 6f 79 20 52 50 43 20 63 6c 69 65 6e 74 20 66 6f 72 20 73 ┆ create toy RPC client for s┆ 0x07c0…07e0 69 6d 75 6c 61 74 69 6f 6e 0a 20 20 20 20 20 63 6c 6e 74 74 63 70 5f 63 72 65 61 74 65 28 29 20 ┆imulation clnttcp_create() ┆ 0x07e0…0800 20 20 20 20 20 20 20 20 20 20 63 72 65 61 74 65 20 52 50 43 20 63 6c 69 65 6e 74 20 75 73 69 6e ┆ create RPC client usin┆ 0x0800…0820 67 20 54 43 50 20 74 72 61 6e 73 70 6f 72 74 0a 20 20 20 20 20 63 6c 6e 74 75 64 70 5f 63 72 65 ┆g TCP transport clntudp_cre┆ 0x0820…0840 61 74 65 28 29 20 20 20 20 20 20 20 20 20 20 20 63 72 65 61 74 65 20 52 50 43 20 63 6c 69 65 6e ┆ate() create RPC clien┆ 0x0840…0860 74 20 75 73 69 6e 67 20 55 44 50 20 74 72 61 6e 73 70 6f 72 74 0a 20 20 20 20 20 67 65 74 5f 6d ┆t using UDP transport get_m┆ 0x0860…0880 79 61 64 64 72 65 73 73 28 29 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 20 74 68 65 20 6d 61 ┆yaddress() get the ma┆ 0x0880…08a0 63 68 69 6e 65 27 73 20 49 50 20 61 64 64 72 65 73 73 0a 20 20 20 20 20 70 6d 61 70 5f 67 65 74 ┆chine's IP address pmap_get┆ 0x08a0…08c0 6d 61 70 73 28 29 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6c 69 73 74 20 6f ┆maps() return list o┆ 0x08c0…08e0 66 20 52 50 43 20 70 72 6f 67 72 61 6d 2d 74 6f 2d 70 6f 72 74 20 6d 61 70 70 69 6e 67 73 0a 20 ┆f RPC program-to-port mappings ┆ 0x08e0…0900 20 20 20 20 70 6d 61 70 5f 67 65 74 70 6f 72 74 28 29 20 20 20 20 20 20 20 20 20 20 20 20 20 72 ┆ pmap_getport() r┆ 0x0900…0920 65 74 75 72 6e 20 70 6f 72 74 20 6e 75 6d 62 65 72 20 6f 6e 20 77 68 69 63 68 20 77 61 69 74 73 ┆eturn port number on which waits┆ 0x0920…0940 20 73 75 70 70 6f 72 74 69 6e 67 20 73 65 72 76 69 63 65 0a 20 20 20 20 20 70 6d 61 70 5f 72 6d ┆ supporting service pmap_rm┆ 0x0940…0960 74 63 61 6c 6c 28 29 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 73 74 72 75 63 74 73 20 70 6f ┆tcall() instructs po┆ 0x0960…0980 72 74 6d 61 70 70 65 72 20 74 6f 20 6d 61 6b 65 20 61 6e 20 52 50 43 20 63 61 6c 6c 0a 20 20 20 ┆rtmapper to make an RPC call ┆ 0x0980…09a0 20 20 70 6d 61 70 5f 73 65 74 28 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 73 74 ┆ pmap_set() est┆ 0x09a0…09c0 61 62 6c 69 73 68 20 6d 61 70 70 69 6e 67 20 62 65 74 77 65 65 6e 20 5b 70 72 6f 67 6e 75 6d 2c ┆ablish mapping between [prognum,┆ 0x09c0…09e0 76 65 72 73 6e 75 6d 2c 70 72 6f 63 6e 75 6d 5d 20 61 6e 64 20 70 6f 72 74 0a 20 20 20 20 20 70 ┆versnum,procnum] and port p┆ 0x09e0…0a00 6d 61 70 5f 75 6e 73 65 74 28 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 73 74 72 6f ┆map_unset() destro┆ 0x0a00…0a20 79 20 6d 61 70 70 69 6e 67 20 62 65 74 77 65 65 6e 20 5b 70 72 6f 67 6e 75 6d 2c 76 65 72 73 6e ┆y mapping between [prognum,versn┆ 0x0a20…0a40 75 6d 2c 70 72 6f 63 6e 75 6d 5d 20 61 6e 64 20 70 6f 72 74 0a 20 20 20 20 20 72 65 67 69 73 74 ┆um,procnum] and port regist┆ 0x0a40…0a60 65 72 72 70 63 28 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 67 69 73 74 65 72 20 70 72 ┆errpc() register pr┆ 0x0a60…0a80 6f 63 65 64 75 72 65 20 77 69 74 68 20 52 50 43 20 73 65 72 76 69 63 65 20 70 61 63 6b 61 67 65 ┆ocedure with RPC service package┆ 0x0a80…0aa0 0a 20 20 20 20 20 72 70 63 5f 63 72 65 61 74 65 65 72 72 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆ rpc_createerr ┆ 0x0aa0…0ac0 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 20 69 6e 64 69 63 61 74 69 6e 67 20 72 65 61 73 ┆ global variable indicating reas┆ 0x0ac0…0ae0 6f 6e 20 77 68 79 20 63 6c 69 65 6e 74 20 63 72 65 61 74 69 6f 6e 20 66 61 69 6c 65 64 0a 20 20 ┆on why client creation failed ┆ 0x0ae0…0b00 20 20 20 73 76 63 5f 64 65 73 74 72 6f 79 28 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 ┆ svc_destroy() de┆ 0x0b00…0b20 73 74 72 6f 79 20 52 50 43 20 73 65 72 76 69 63 65 20 74 72 61 6e 73 70 6f 72 74 20 68 61 6e 64 ┆stroy RPC service transport hand┆ 0x0b20…0b40 6c 65 0a 20 20 20 20 20 73 76 63 5f 66 64 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆le svc_fds ┆ 0x0b40…0b60 20 20 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 20 77 69 74 68 20 52 50 43 20 73 65 72 76 ┆ global variable with RPC serv┆ 0x0b60…0b80 69 63 65 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 6d 61 73 6b 0a 20 20 20 20 20 73 76 ┆ice file descriptor mask sv┆ 0x0b80…0ba0 63 5f 66 72 65 65 61 72 67 73 28 29 20 20 20 20 20 20 20 20 20 20 20 20 20 66 72 65 65 20 64 61 ┆c_freeargs() free da┆ 0x0ba0…0bc0 74 61 20 61 6c 6c 6f 63 61 74 65 64 20 62 79 20 52 50 43 2f 58 44 52 20 73 79 73 74 65 6d 20 77 ┆ta allocated by RPC/XDR system w┆ 0x0bc0…0be0 68 65 6e 20 64 65 63 6f 64 69 6e 67 20 61 72 67 75 6d 65 6e 74 73 0a 20 20 20 20 20 73 76 63 5f ┆hen decoding arguments svc_┆ 0x0be0…0c00 67 65 74 61 72 67 73 28 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 63 6f 64 65 73 20 74 ┆getargs() decodes t┆ 0x0c00…0c20 68 65 20 61 72 67 75 6d 65 6e 74 73 20 6f 66 20 61 6e 20 52 50 43 20 72 65 71 75 65 73 74 0a 20 ┆he arguments of an RPC request ┆ 0x0c20…0c40 20 20 20 20 73 76 63 5f 67 65 74 63 61 6c 6c 65 72 28 29 20 20 20 20 20 20 20 20 20 20 20 20 67 ┆ svc_getcaller() g┆ 0x0c40…0c60 65 74 20 74 68 65 20 6e 65 74 77 6f 72 6b 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 63 61 ┆et the network address of the ca┆ 0x0c60…0c80 6c 6c 65 72 20 6f 66 20 61 20 70 72 6f 63 65 64 75 72 65 0a 20 20 20 20 20 73 76 63 5f 67 65 74 ┆ller of a procedure svc_get┆ 0x0c80…0ca0 72 65 71 28 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 77 68 65 6e ┆req() returns when┆ 0x0ca0…0cc0 20 61 6c 6c 20 61 73 73 6f 63 69 61 74 65 64 20 73 6f 63 6b 65 74 73 20 68 61 76 65 20 62 65 65 ┆ all associated sockets have bee┆ 0x0cc0…0ce0 6e 20 73 65 72 76 69 63 65 64 0a 20 20 20 20 20 73 76 63 5f 72 65 67 69 73 74 65 72 28 29 20 20 ┆n serviced svc_register() ┆ 0x0ce0…0d00 20 20 20 20 20 20 20 20 20 20 20 61 73 73 6f 63 69 61 74 65 73 20 70 72 6f 67 6e 75 6d 20 61 6e ┆ associates prognum an┆ 0x0d00…0d20 64 20 76 65 72 73 6e 75 6d 20 77 69 74 68 20 73 65 72 76 69 63 65 20 64 69 73 70 61 74 63 68 20 ┆d versnum with service dispatch ┆ 0x0d20…0d40 70 72 6f 63 65 64 75 72 65 0a 20 20 20 20 20 73 76 63 5f 72 75 6e 28 29 20 20 20 20 20 20 20 20 ┆procedure svc_run() ┆ 0x0d40…0d60 20 20 20 20 20 20 20 20 20 20 77 61 69 74 20 66 6f 72 20 52 50 43 20 72 65 71 75 65 73 74 73 20 ┆ wait for RPC requests ┆ 0x0d60…0d80 74 6f 20 61 72 72 69 76 65 20 61 6e 64 20 63 61 6c 6c 20 61 70 70 72 6f 70 72 69 61 74 65 20 73 ┆to arrive and call appropriate s┆ 0x0d80…0da0 65 72 76 69 63 65 0a 20 20 20 20 20 73 76 63 5f 73 65 6e 64 72 65 70 6c 79 28 29 20 20 20 20 20 ┆ervice svc_sendreply() ┆ 0x0da0…0dc0 20 20 20 20 20 20 20 73 65 6e 64 20 62 61 63 6b 20 72 65 73 75 6c 74 73 20 6f 66 20 61 20 72 65 ┆ send back results of a re┆ 0x0dc0…0de0 6d 6f 74 65 20 70 72 6f 63 65 64 75 72 65 20 63 61 6c 6c 0a 20 20 20 20 20 73 76 63 5f 75 6e 72 ┆mote procedure call svc_unr┆ 0x0de0…0e00 65 67 69 73 74 65 72 28 29 20 20 20 20 20 20 20 20 20 20 20 72 65 6d 6f 76 65 20 6d 61 70 70 69 ┆egister() remove mappi┆ 0x0e00…0e20 6e 67 20 6f 66 20 5b 70 72 6f 67 6e 75 6d 2c 76 65 72 73 6e 75 6d 5d 20 74 6f 20 64 69 73 70 61 ┆ng of [prognum,versnum] to dispa┆ 0x0e20…0e40 74 63 68 20 72 6f 75 74 69 6e 65 73 0a 20 20 20 20 20 73 76 63 65 72 72 5f 61 75 74 68 28 29 20 ┆tch routines svcerr_auth() ┆ 0x0e40…0e60 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6c 6c 65 64 20 77 68 65 6e 20 72 65 66 75 73 69 6e ┆ called when refusin┆ 0x0e60…0e80 67 20 73 65 72 76 69 63 65 20 62 65 63 61 75 73 65 20 6f 66 20 61 75 74 68 65 6e 74 69 63 61 74 ┆g service because of authenticat┆ 0x0e80…0ea0 69 6f 6e 20 65 72 72 6f 72 0a 20 20 20 20 20 73 76 63 65 72 72 5f 64 65 63 6f 64 65 28 29 20 20 ┆ion error svcerr_decode() ┆ 0x0ea0…0ec0 20 20 20 20 20 20 20 20 20 20 63 61 6c 6c 65 64 20 77 68 65 6e 20 73 65 72 76 69 63 65 20 63 61 ┆ called when service ca┆ 0x0ec0…0ee0 6e 6e 6f 74 20 64 65 63 6f 64 65 20 69 74 73 20 70 61 72 61 6d 65 74 65 72 73 0a 20 20 20 20 20 ┆nnot decode its parameters ┆ 0x0ee0…0f00 73 76 63 65 72 72 5f 6e 6f 70 72 6f 63 28 29 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6c 6c 65 ┆svcerr_noproc() calle┆ 0x0f00…0f20 64 20 77 68 65 6e 20 73 65 72 76 69 63 65 20 68 61 73 6e 27 74 20 69 6d 70 6c 65 6d 65 6e 74 65 ┆d when service hasn't implemente┆ 0x0f20…0f40 64 20 74 68 65 20 64 65 73 69 72 65 64 20 70 72 6f 63 65 64 75 72 65 0a 20 20 20 20 20 73 76 63 ┆d the desired procedure svc┆ 0x0f40…0f60 65 72 72 5f 6e 6f 70 72 6f 67 28 29 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6c 6c 65 64 20 77 ┆err_noprog() called w┆ 0x0f60…0f80 68 65 6e 20 70 72 6f 67 72 61 6d 20 69 73 20 6e 6f 74 20 72 65 67 69 73 74 65 72 65 64 20 77 69 ┆hen program is not registered wi┆ 0x0f80…0fa0 74 68 20 52 50 43 20 70 61 63 6b 61 67 65 0a 20 20 20 20 20 73 76 63 65 72 72 5f 70 72 6f 67 76 ┆th RPC package svcerr_progv┆ 0x0fa0…0fc0 65 72 73 28 29 20 20 20 20 20 20 20 20 20 20 63 61 6c 6c 65 64 20 77 68 65 6e 20 76 65 72 73 69 ┆ers() called when versi┆ 0x0fc0…0fe0 6f 6e 20 69 73 20 6e 6f 74 20 72 65 67 69 73 74 65 72 65 64 20 77 69 74 68 20 52 50 43 20 70 61 ┆on is not registered with RPC pa┆ 0x0fe0…1000 63 6b 61 67 65 0a 20 20 20 20 20 73 76 63 65 72 72 5f 73 79 73 74 65 6d 65 72 72 28 29 20 20 20 ┆ckage svcerr_systemerr() ┆ 0x1000…1020 20 20 20 20 20 20 63 61 6c 6c 65 64 20 77 68 65 6e 20 73 65 72 76 69 63 65 20 64 65 74 65 63 74 ┆ called when service detect┆ 0x1020…1040 73 20 73 79 73 74 65 6d 20 65 72 72 6f 72 0a 20 20 20 20 20 73 76 63 65 72 72 5f 77 65 61 6b 61 ┆s system error svcerr_weaka┆ 0x1040…1060 75 74 68 28 29 20 20 20 20 20 20 20 20 20 20 63 61 6c 6c 65 64 20 77 68 65 6e 20 72 65 66 75 73 ┆uth() called when refus┆ 0x1060…1080 69 6e 67 20 73 65 72 76 69 63 65 20 62 65 63 61 75 73 65 20 6f 66 20 69 6e 73 75 66 66 69 63 69 ┆ing service because of insuffici┆ 0x1080…10a0 65 6e 74 20 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 0a 20 20 20 20 20 73 76 63 72 61 77 5f 63 ┆ent authentication svcraw_c┆ 0x10a0…10c0 72 65 61 74 65 28 29 20 20 20 20 20 20 20 20 20 20 20 20 63 72 65 61 74 65 73 20 61 20 74 6f 79 ┆reate() creates a toy┆ 0x10c0…10e0 20 52 50 43 20 73 65 72 76 69 63 65 20 74 72 61 6e 73 70 6f 72 74 20 66 6f 72 20 74 65 73 74 69 ┆ RPC service transport for testi┆ 0x10e0…1100 6e 67 0a 20 20 20 20 20 73 76 63 74 63 70 5f 63 72 65 61 74 65 28 29 20 20 20 20 20 20 20 20 20 ┆ng svctcp_create() ┆ 0x1100…1120 20 20 20 63 72 65 61 74 65 73 20 61 6e 20 52 50 43 20 73 65 72 76 69 63 65 20 62 61 73 65 64 20 ┆ creates an RPC service based ┆ 0x1120…1140 6f 6e 20 54 43 50 20 74 72 61 6e 73 70 6f 72 74 0a 20 20 20 20 20 73 76 63 75 64 70 5f 63 72 65 ┆on TCP transport svcudp_cre┆ 0x1140…1160 61 74 65 28 29 20 20 20 20 20 20 20 20 20 20 20 20 63 72 65 61 74 65 73 20 61 6e 20 52 50 43 20 ┆ate() creates an RPC ┆ 0x1160…1180 73 65 72 76 69 63 65 20 62 61 73 65 64 20 6f 6e 20 55 44 50 20 74 72 61 6e 73 70 6f 72 74 0a 20 ┆service based on UDP transport ┆ 0x1180…11a0 20 20 20 20 78 64 72 5f 61 63 63 65 70 74 65 64 5f 72 65 70 6c 79 28 29 20 20 20 20 20 20 20 67 ┆ xdr_accepted_reply() g┆ 0x11a0…11c0 65 6e 65 72 61 74 65 73 20 52 50 43 2d 73 74 79 6c 65 20 72 65 70 6c 69 65 73 20 77 69 74 68 6f ┆enerates RPC-style replies witho┆ 0x11c0…11e0 75 74 20 75 73 69 6e 67 20 52 50 43 20 70 61 63 6b 61 67 65 0a 0a 0a 0a 0a 0a 0a 20 20 20 20 20 ┆ut using RPC package ┆ 0x11e0…1200 78 64 72 5f 61 75 74 68 75 6e 69 78 5f 70 61 72 6d 73 28 29 20 20 20 20 20 20 20 67 65 6e 65 72 ┆xdr_authunix_parms() gener┆ 0x1200…1220 61 74 65 73 20 55 4e 49 58 20 63 72 65 64 65 6e 74 69 61 6c 73 20 77 69 74 68 6f 75 74 20 75 73 ┆ates UNIX credentials without us┆ 0x1220…1240 69 6e 67 20 52 50 43 20 70 61 63 6b 61 67 65 0a 20 20 20 20 20 78 64 72 5f 63 61 6c 6c 68 64 72 ┆ing RPC package xdr_callhdr┆ 0x1240…1260 28 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 65 6e 65 72 61 74 65 73 20 52 50 43 2d 73 74 ┆() generates RPC-st┆ 0x1260…1280 79 6c 65 20 68 65 61 64 65 72 73 20 77 69 74 68 6f 75 74 20 75 73 69 6e 67 20 52 50 43 20 70 61 ┆yle headers without using RPC pa┆ 0x1280…12a0 63 6b 61 67 65 0a 20 20 20 20 20 78 64 72 5f 63 61 6c 6c 6d 73 67 28 29 20 20 20 20 20 20 20 20 ┆ckage xdr_callmsg() ┆ 0x12a0…12c0 20 20 20 20 20 20 67 65 6e 65 72 61 74 65 73 20 52 50 43 2d 73 74 79 6c 65 20 6d 65 73 73 61 67 ┆ generates RPC-style messag┆ 0x12c0…12e0 65 73 20 77 69 74 68 6f 75 74 20 75 73 69 6e 67 20 52 50 43 20 70 61 63 6b 61 67 65 0a 20 20 20 ┆es without using RPC package ┆ 0x12e0…1300 20 20 78 64 72 5f 6f 70 61 71 75 65 5f 61 75 74 68 28 29 20 20 20 20 20 20 20 20 20 20 64 65 73 ┆ xdr_opaque_auth() des┆ 0x1300…1320 63 72 69 62 65 73 20 52 50 43 20 6d 65 73 73 61 67 65 73 2c 20 65 78 74 65 72 6e 61 6c 6c 79 0a ┆cribes RPC messages, externally ┆ 0x1320…1340 20 20 20 20 20 78 64 72 5f 70 6d 61 70 28 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆ xdr_pmap() ┆ 0x1340…1360 64 65 73 63 72 69 62 65 73 20 70 61 72 61 6d 65 74 65 72 73 20 66 6f 72 20 70 6f 72 74 6d 61 70 ┆describes parameters for portmap┆ 0x1360…1380 20 70 72 6f 63 65 64 75 72 65 73 2c 20 65 78 74 65 72 6e 61 6c 6c 79 0a 20 20 20 20 20 78 64 72 ┆ procedures, externally xdr┆ 0x1380…13a0 5f 70 6d 61 70 6c 69 73 74 28 29 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 73 63 72 69 62 65 ┆_pmaplist() describe┆ 0x13a0…13c0 73 20 61 20 6c 69 73 74 20 6f 66 20 70 6f 72 74 20 6d 61 70 70 69 6e 67 73 2c 20 65 78 74 65 72 ┆s a list of port mappings, exter┆ 0x13c0…13e0 6e 61 6c 6c 79 0a 20 20 20 20 20 78 64 72 5f 72 65 6a 65 63 74 65 64 5f 72 65 70 6c 79 28 29 20 ┆nally xdr_rejected_reply() ┆ 0x13e0…1400 20 20 20 20 20 20 67 65 6e 65 72 61 74 65 73 20 52 50 43 2d 73 74 79 6c 65 20 72 65 6a 65 63 74 ┆ generates RPC-style reject┆ 0x1400…1420 69 6f 6e 73 20 77 69 74 68 6f 75 74 20 75 73 69 6e 67 20 52 50 43 20 70 61 63 6b 61 67 65 0a 20 ┆ions without using RPC package ┆ 0x1420…1440 20 20 20 20 78 64 72 5f 72 65 70 6c 79 6d 73 67 28 29 20 20 20 20 20 20 20 20 20 20 20 20 20 67 ┆ xdr_replymsg() g┆ 0x1440…1460 65 6e 65 72 61 74 65 73 20 52 50 43 2d 73 74 79 6c 65 20 72 65 70 6c 69 65 73 20 77 69 74 68 6f ┆enerates RPC-style replies witho┆ 0x1460…1480 75 74 20 75 73 69 6e 67 20 52 50 43 20 70 61 63 6b 61 67 65 0a 20 20 20 20 20 78 70 72 74 5f 72 ┆ut using RPC package xprt_r┆ 0x1480…14a0 65 67 69 73 74 65 72 28 29 20 20 20 20 20 20 20 20 20 20 20 20 72 65 67 69 73 74 65 72 73 20 52 ┆egister() registers R┆ 0x14a0…14c0 50 43 20 73 65 72 76 69 63 65 20 74 72 61 6e 73 70 6f 72 74 20 77 69 74 68 20 52 50 43 20 70 61 ┆PC service transport with RPC pa┆ 0x14c0…14e0 63 6b 61 67 65 0a 20 20 20 20 20 78 70 72 74 5f 75 6e 72 65 67 69 73 74 65 72 28 29 20 20 20 20 ┆ckage xprt_unregister() ┆ 0x14e0…1500 20 20 20 20 20 20 75 6e 72 65 67 69 73 74 65 72 73 20 52 50 43 20 73 65 72 76 69 63 65 20 74 72 ┆ unregisters RPC service tr┆ 0x1500…1520 61 6e 73 70 6f 72 74 20 66 72 6f 6d 20 52 50 43 20 70 61 63 6b 61 67 65 0a 0a 46 08 46 08 46 08 ┆ansport from RPC package F F F ┆ 0x1520…1540 46 49 08 49 08 49 08 49 4c 08 4c 08 4c 08 4c 45 08 45 08 45 08 45 53 08 53 08 53 08 53 0a 20 20 ┆FI I I IL L L LE E E ES S S S ┆ 0x1540…1560 20 20 20 2f 75 73 72 2f 6c 69 62 2f 6c 69 62 72 70 63 2e 61 0a 0a 53 08 53 08 53 08 53 45 08 45 ┆ /usr/lib/librpc.a S S S SE E┆ 0x1560…1580 08 45 08 45 45 08 45 08 45 08 45 20 41 08 41 08 41 08 41 4c 08 4c 08 4c 08 4c 53 08 53 08 53 08 ┆ E EE E E E A A A AL L L LS S S ┆ 0x1580…15a0 53 4f 08 4f 08 4f 08 4f 0a 20 20 20 20 20 5f 08 52 5f 08 65 5f 08 6d 5f 08 6f 5f 08 74 5f 08 65 ┆SO O O O _ R_ e_ m_ o_ t_ e┆ 0x15a0…15c0 20 5f 08 50 5f 08 72 5f 08 6f 5f 08 63 5f 08 65 5f 08 64 5f 08 75 5f 08 72 5f 08 65 20 5f 08 43 ┆ _ P_ r_ o_ c_ e_ d_ u_ r_ e _ C┆ 0x15c0…15e0 5f 08 61 5f 08 6c 5f 08 6c 20 5f 08 50 5f 08 72 5f 08 6f 5f 08 67 5f 08 72 5f 08 61 5f 08 6d 5f ┆_ a_ l_ l _ P_ r_ o_ g_ r_ a_ m_┆ 0x15e0…1600 08 6d 5f 08 69 5f 08 6e 5f 08 67 20 5f 08 47 5f 08 75 5f 08 69 5f 08 64 5f 08 65 2c 20 69 6e 20 ┆ m_ i_ n_ g _ G_ u_ i_ d_ e, in ┆ 0x1600…1620 5f 08 4e 5f 08 65 5f 08 74 5f 08 77 5f 08 6f 5f 08 72 5f 08 6b 5f 08 69 5f 08 6e 5f 08 67 20 5f ┆_ N_ e_ t_ w_ o_ r_ k_ i_ n_ g _┆ 0x1620…1640 08 6f 5f 08 6e 0a 20 20 20 20 20 5f 08 74 5f 08 68 5f 08 65 20 5f 08 53 5f 08 75 5f 08 6e 20 5f ┆ o_ n _ t_ h_ e _ S_ u_ n _┆ 0x1640…1660 08 57 5f 08 6f 5f 08 72 5f 08 6b 5f 08 73 5f 08 74 5f 08 61 5f 08 74 5f 08 69 5f 08 6f 5f 08 6e ┆ W_ o_ r_ k_ s_ t_ a_ t_ i_ o_ n┆ 0x1660…1680 2e 0a 0a 44 65 63 65 6d 62 65 72 20 31 39 39 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆. December 1990 ┆ 0x1680…16a0 20 20 20 20 20 20 20 20 20 20 20 54 58 20 50 72 6f 67 72 61 6d 6d 65 72 27 73 20 52 65 66 65 72 ┆ TX Programmer's Refer┆ 0x16a0…16c0 65 6e 63 65 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ┆ence ┆ 0x16c0…16ce 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ┆ ┆