ONC+ Developer's Guide
  Rechercher uniquement dans ce livre
Télécharger cet ouvrage au format PDF

Index

Symbols

% preprocessing directive36
&, server invocation and30

Numerics

_1 suffix27, 63

A

access control
.....authentication vs.99
.....port monitors and304
add.x source file38, 39 to 41, 45 to 48, 49
adding
.....address registrations18
.....NIS+ database entries156
.....NIS+ group members155
.....NIS+ objects to namespace154
.....NIS+ table entry objects154, 164 to 165
.....port monitor services311
.....port monitors302
.....two numbers286
ADDPROG program286
addresses
.....information reporting for20
.....lookup services15, 18, 19
.....management functions141
.....mapping RPC services to,Seeportmap routine;rpcbindroutine
.....name-to-address translationroutines17 to 18, 19, 137
.....network295 to 296
.....overview295 to 296
.....passing arguments as26 to 27, 63
.....passing server's address to client76
.....passing user's bind address79
.....registering,Seeportmap routine;rpcbind routine
.....transport (netbuf)18, 247
.....universal17 to 18, 246, 247, 296, 333
.....unregistering
............current vs. previous release140
............portmap routine299
............rpcbind routine18, 243, 246
............rpcinfo routine20
ah_cred field83
ah_key field100
ah_verf field83
allocating memory,See memory
ampersand (&), server invocation and30
ANSI C standards
.....rpcgen tool and23, 37, 49
application programming interface (API)
.....NIS+153 to 157
applications
.....porting from TS-RPC to TI-RPC136
arguments (remote procedures)
.....overview11
.....passing arbitrary data types64 to 67
.....passing by address26 to 27, 63
.....passing by value39 to 41
.....passing open TLI file descriptors76, 79
.....passing server's address to client76
.....passing user's bind address79
.....void238
arrays
.....See also data structures
.....converting to XDR format66 to 67, 134 to 135
.....declarations
............RPC language234 to 235
............XDR language261 to 262, 270
.....XDR code examples189 to 192, 193 to 194
assign configuration-scriptkeyword318
asynchronous mode88 to 90
AUTH_BADCRED error227, 228
AUTH_BADVERF error227
AUTH_DES authentication99 to 101, 220 to 226
.....common key225 to 226
.....conversation key221 to 222, 223 to 224, 226
.....credentials100, 223 to 224
.....described96, 99 to 100, 220 to 221
.....Diffie-Hellman encryption100, 222, 225 to 226
.....errors223
.....handle99 to 100
.....nicknames222 to 223, 224 to 225
.....protocol in XDR language223 to 226
.....server100 to 101
.....time synchronization100, 222 to 223
.....verifiers221 to 222, 224 to 225
auth_destroy routine96
AUTH_KERB authentication102 to 104, 226 to 230
......credentials102, 103, 104, 227 to 229
......described96, 102 to 104, 226
......encryption103 to 104
......errors227 to 228
......NFS and226 to 228
......nicknames103 to 104, 227, 228 to 229, 230
......protocol in XDR language228 to 230
......time synchronization102, 229, 230
......verifiers103, 104, 228, 229 to 230
AUTH_NONE authentication96, 97, 218
AUTH_REJECTEDCRED error219, 227
AUTH_REJECTEDVERF error228
AUTH_SHORT authentication96
AUTH_SHORT verifier219 to 220
AUTH_SYS authentication96, 97 to 99, 218 to 220
AUTH_TIMEEXPIRE error228
AUTH_TOOWEAK error228
AUTH_UNIX (AUTH_SYS)authentication218 to 220
AUTH_UNIX (AUTH_SYS)authentication96, 97 to 99
authdes_create routine141
authdes_seccreate routine100, 141
authentication95 to 104, 218 to 230
......access control vs.99
......allocating authenticationnumbers218
......AUTH_DES96, 99 to 101, 220 to 226
......AUTH_KERB96, 102 to 104, 226 to 230
......AUTH_NONE96, 97, 218
......AUTH_SHORT96, 219 to 220
......AUTH_SYS (AUTH_UNIX)218 to 220
......AUTH_SYS (AUTH_UNIX)96, 97 to 99
......credentials
............AUTH_DES100, 223 to 224
............AUTH_KERB102, 103, 104, 227 to 229
............described211 to 212
............window (lifetime) of100, 102, 222, 223 to 224, 229
.....current vs. previous release141
.....destroying an96
.....errors
............AUTH_DES223
............AUTH_KERB227 to 228
............AUTH_SYS99, 219
.....handles83, 99 to 100
.....low-level data structures and83
.....methods supported96
.....nicknames
............AUTH_DES222 to 223, 224 to 225
............AUTH_KERB103 to 104, 227, 228 to 229, 230
.....NIS+151
.....overview95 to 96, 218
.....registering authenticationnumbers218
.....RPC protocol and211 to 212
.....rpcgen tool and51, 54
.....servers96 to 97, 98 to 99, 100 to 101
.....service-dispatch routine and96 to 97
.....time synchronization
............AUTH_DES authentication100, 222 to 223
............AUTH_KERB authentication102, 229, 230
.....verifiers
............AUTH_DES221 to 222
............AUTH_KERB103, 104, 228, 229 to 230
............AUTH_SYS219 to 220
............described211 to 212
authkerb_seccreate routine102
authorization
.....See also authentication
.....NIS+151
authsys_create routine99, 141
authsys_create_default routine99, 141
authunix_create routine141
authunix_create_defaultroutine141
Automatic MT mode,See MT Auto mode

B

batching92 to 95, 213, 291 to 294
bcast.c program90 to 91
bcast_proc routine91 to 92
binding
......See alsorpcbind routine
......dynamic296
......TI-RPC and11, 210
booleans
......RPC language239
......XDR language255
bottom level interface routines (RPC)15, 80 to 82
broadcast RPC90 to 92
......current vs. previous release140 to 141
......overview90, 214
......portmap routine and297, 300
......routines for13, 90 to 92
......rpcbind routine and240, 248
......server response to50, 52, 91, 92
......TS-RPC vs. TI-RPC143 to 145
buffer size
......specifying send and receive76, 79
byte arrays
......See also arrays
......XDR189

C

C
......rpcgen tool and
............ANSI C compliance23, 37, 49
............C-style mode22, 37, 39 to 41, 238
............preprocessing directives35 to 37, 50, 51
............SPARCompiler C++ 3.0compatibility49
......XDR routines and175
caching
......NIS+153
......server82
call semantics
......TI-RPC12, 209
callback procedures
.....NIS+166, 168
.....transient RPC program numbersand109 to 110
.....uses for109 to 110
callrpc routine140
CBC (cipher block chaining) mode103
cd command319
changing
.....NIS+ objects in namespace154
.....NIS+ table entry objects154
.....port monitor configurationscripts319 to 321
.....port monitor services311
.....version numbers of programs106
cipher block chaining (CBC) mode103
circuit_n transport type16
circuit_v transport type16
circuit-oriented transports
.....when to use17
cl_auth field83, 96
cl_netid field80 to 81
cl_private field81
cl_tp field80 to 81
classes of messages309
client authentication,See authentication
client handles
.....creating
............bottom level interface15, 81
............current vs. previous release139
............expert level interface15, 76 to 78
............intermediate level interface14, 73 to 74
............top level interface14, 28 to 29, 68 to 70
.....defined331
.....destroying
............current vs. previous release139
............expert level interface78
............top level interface28, 70
.....low-level data structures for82 to 83
client programs
.....remote copy132 to 133
......rpcgen tool and
............ANSI C-compliance49
............complex data structurepassing33 to 35
............debugging56 to 57
............directory listing service33 to 35, 284 to 285
............message printing codeexample27 to 30
............MT-safety22, 45 to 47
............overview23, 27 to 30
......simplified interface61 to 62
client stub routines
......rpcgen tool and21, 28, 29
............C-style mode40 to 41
............MT Auto mode48
............MT-safe42 to 43
............MT-unsafe43 to 44
............preprocessing directive36
client templates
......rpcgen tool22, 37, 38, 39 to 41
client time-out periods
......creating timed clients14, 70, 74
......rpcgen tool and51, 53
clients
......batched92 to 94, 291 to 292
......defined331, 332
......multiple versions108 to 109
......multithreaded
............overview111 to 116
............safety42 to 44, 45 to 47, 59, 332
............User mode123, 124 to 126
......NIS+153
......transaction IDs and209
......TS-RPC vs. TI-RPC142 to 143
_clnt.c suffix29
clnt_broadcast routine140, 143 to 144
clnt_call routine
......current vs. previous release140
......described14, 15
......RPCPROGVERSMISMATCH error108
......simplified interface and68
......top level interface and70
clnt_control routine
.....current vs. previous release139
.....described53, 78
.....simplified interface and68
.....using53
clnt_create routine
.....code example27 to 29
.....current vs. previous release139
.....described14
clnt_create_timed routine
.....current vs. previous release139
.....described14
.....using70
clnt_create_vers routine108, 139
clnt_destroy routine
.....current vs. previous release139
.....described28, 70, 78
.....simplified interface and68
clnt_dg_create routine
.....current vs. previous release139
.....described15, 81
.....using81
clnt_ops field81
clnt_pcreateerror routine
.....current vs. previous release139
.....described70
.....simplified interface and68
clnt_perrno routine68
clnt_perror routine57, 68
clnt_raw_create routine85 to 87, 139
clnt_spcreateerror routine139
clnt_sperror routine57
clnt_tli_create routine
.....current vs. previous release139
.....described15, 76, 80 to 81
.....using76, 78
clnt_tp_create routine14, 139
clnt_tp_create_timed routine
.....current vs. previous release139
.....described14
.....using74
clnt_vc_create routine
.....current vs. previous release139
.....described15, 81
......using81
clntraw_create routine139
clnttcp_create routine139
clntudp_bufcreate routine139
clntudp_create routine76 to 78, 139
clock synchronization,See timesynchronization
comments
......XDR language267
compatibility
......library functions, current vs. previousrelease139 to 142
compilation
......NIS+158
......rpcgen tool22, 39 to 41
complex data structures
......See also data structures
......packing withxdr_inline37, 50
......rpcgen tool and30 to 35
compound data type filters
......XDR66 to 67, 187
_config file315, 316, 317, 320, 330
configuration scripts,See port monitors,configuration scripts
connectionless transports
......See also datagram transports; UDP(user datagram protocol)
......client handle creation for15
......defined331
......nettype parameters for16
......server handle creation for15
connection-oriented endpoints85
connection-oriented transports
......See also TCP (transport controlprotocol)
......client handle creation for15
......defined331
......nettype parameters for16
......port monitors and104 to 105
......remote copy code example131 to 134
......server handle creation for15
constants
......RPC language233
.....XDR language265, 267, 270
constructed data type filters
.....XDR66 to 67, 187
conversation key
.....AUTH_DES authentication221 to 222, 223 to 224, 226
converting
.....addresses17 to 18, 19, 137
.....from XDR format64, 67, 72, 134, 135, 181 to 182, 331
.....local procedures to remoteprocedures23 to 30
.....to XDR format30 to 35, 64 to 67, 134 to 135, 177 to 179, 181 to 182, 332
copying
.....NIS+ database entries156
.....NIS+ objects157
.....NIS+ table entry objects154
.....remote131 to 134
counted byte strings,See stringdeclarations; stringrepresentation
cpp directive
.....rpcgen tool and37
crashes
.....server209, 223
creating
.....client handles,See client handles,creating
.....NIS+ databases155
.....NIS+ directory objects162
.....NIS+ group objects155, 163
.....NIS+ table objects163 to 165
.....server handles,See server handles,creating
.....utmp entries305, 312, 316
credentials
.....AUTH_DES100, 223 to 224
.....AUTH_KERB102, 103, 104, 227 to 229
.....described211 to 212
.....window (lifetime) of100, 102, 222, 223 to 224, 229
C-style mode
......rpcgen tool22, 37, 39 to 41, 238

D

daemons
......kerbd226, 227
......rpcbind19, 90
data representation
......See also XDR (external datarepresentation)
......TI-RPC12
data structures
......See also arrays; structure declarations
......converting to XDR format30 to 35, 64 to 67, 134 to 135, 179, 181 to 182
......low-level82 to 85
......MT safe123
......packing withxdr_inline37, 50
......recursive203 to 206, 266
......rpcgen tool and30 to 35
data types
......passing arbitrary64 to 67
database access functions (NIS+)153, 155, 156
datagram transports
......See also UDP (user datagram protocol)
......broadcast RPC and90
......defined331
......nettype parameters16
......when to use17
datagram_n transport type16
datagram_v transport type16
date service
......intermediate level client for73 to 74
......intermediate level server for74 to 75
......top level client for trivial69 to 70
......top level server for71 to 72
db_add_entry function156
db_checkpoint function156
db_first_entry function156
db_list_entries function156
db_next_entry function156
db_remove_entry function156
db_reset_next_entry function156
db_standby function156
dbxtool routine56
deallocating memory,See memory,releasing
debugging
.....raw mode and85 to 87
.....rpcgen tool and50, 51, 56 to 57
declarations
.....RPC language234 to 240
.....XDR language253 to 266
defaults
.....maximum number of threads119
.....rpcgen tool,Seerpcgen tool,defaults
.....single-threaded mode117
define statements, command line,rpcgentool50, 51
definitions
.....RPC language231 to 232, 272
deleting
.....See also destroying; memory, releasing
.....address registrations140
.....address registrations,Seeunregistering
.....assocations15
.....mappings15
.....NIS+ database entries156
.....NIS+ directory from host155
.....NIS+ group members155
.....NIS+ group objects155, 169 to 173
.....NIS+ objects from namespace154, 168 to 169
.....NIS+ table entry objects154, 169 to 173
.....port monitor services311
.....port monitors302
DES encryption100, 103 to 104, 222, 225 to 226
deserializing64, 67, 72, 134, 135, 181 to 182, 331
.....See also XDR (external datarepresentation)
destroying
......See also deleting
......client authentication handles96
......client handles28, 70, 78, 139
......NIS+ objects157
......server handles139
......XDR streams198
Diffie-Hellman encryption100, 222, 225 to 226
dir.x program30 to 32, 281 to 282
dir_proc.c routine32 to 33, 282 to 283
dir_remove function170
directories
......remote directory listing service30 to 35, 281 to 285
......SAF (service access facility)329 to 330
disabling port monitors304, 307
discriminated unions
......declarations
............RPC language236 to 237
............XDR language236 to 237, 263 to 264, 270
......XDR code samples194 to 196
dispatch tables
......rpcgen tool50, 55 to 56
doconfig function305, 314, 316 to 317
domains (NIS+)
......administration commands153
......functions155, 157
......overview149 to 150
dynamic binding296
dynamic program numbers109 to 110, 212

E

ECB (electronic code book) mode103, 104
electronic code book (ECB) mode103
enabling
......port monitors304, 307
......server caching82
encryption
.....AUTH_DES authentication (Diffie-Hellman)100, 222, 225 to 226
.....AUTH_KERB authentication103 to 104
endnetconfig routine78
endpoints
.....connection-oriented85
enumeration filters
.....XDR primitives186 to 187
enumerations
.....RPC language31, 232 to 233
.....XDR language254 to 255
errors
.....authentication
............AUTH_DES223
............AUTH_KERB227 to 228
............AUTH_SYS99, 219
.....client handle creation70
.....multiple client version108
.....NIS+ error message displayfunctions153, 156
.....RPC29, 56 to 57, 211
.....thr_create119
/etc/inet/inetd.conf file105
/etc/netconfig database16, 51, 138
/etc/rpc database12
/etc/saf/_pid file305, 315, 322, 330
/etc/saf/pmtag directory329
/etc/saf/pmtag/_config file315, 316, 317, 320, 330
315
/etc/saf/pmtag/_pmpipe file307, 315, 330
/etc/saf/pmtag/_pmtab file306, 311 to 312, 315, 330
/etc/saf/pmtag/svctag file311 to 312, 315, 316, 330
/etc/saf/_sactab files310, 329
/etc/saf/_sysconfig file316, 317, 319 to 320, 329
expert level interface routines (RPC)15, 75 to 80
......client76 to 78
......overview15, 75
......server79 to 80
external data representation,See XDR(external data representation)

F

file data structure
......XDR language270 to 271
file descriptors, passing open TLI76, 79
file system,See NFS (network file system)
filters (XDR)
......arrays189 to 192, 193 to 194
......constructed (compound) datatype66 to 67, 187
......enumeration186 to 187
......floating point65, 186
......number65 to 66, 185 to 186
......opaque data192 to 193
......strings67, 187 to 188
......unions194 to 196
fixed-length arrays
......See also arrays
......declarations
............RPC language234 to 235
............XDR language261 to 262
......XDR code sample193 to 194
fixed-length opaque data
......XDR language258 to 259
flags,Seerpcgen tool, flags
floating point
......XDR language256 to 258
floating point filters
......XDR primitives65, 186
free routine35
freeing resources
......See deleting; destroying; disablingport monitors; memory,releasing
freenetconfigent routine74

G

getnetconfig routine78
getnetconfigent routine73, 74
glossary331 to 333
groups (NIS+)
.....administration commands152
.....manipulation functions153, 155
.....sample programs163, 169 to 173

H

hand-coded registration routine64
handles
.....See also client handles; server handles;transport handles
.....authentication83, 99 to 100
.....defined331
header files
.....rpcgen tool and29, 36
host/service pairs
.....translation to/fromnetbufaddresses18
hosts
.....defined332
hyper integers
.....XDR language255 to 256

I

.i suffix55
I/O streams
.....XDR199
idempotent
.....defined12
identifiers
.....XDR language267
identifying
.....See also authentication; naming
.....port monitor services311
.....remote procedures12, 209, 210 to 213
index table
.....rpcgen tool and36
indirect RPC244, 245, 248
inetd port monitor
......RPC services105
......rpcgen tool and30, 52 to 53
......using104, 105
inetd.conf file105
information reporting
......addresses20
......NIS+155, 156
......remote host status111 to 116
......RPC20
......rpcbind server248
......server callbacks109 to 110
installing port monitor configurationscripts319 to 321
integers
......XDR language177 to 178
integers, XDR language253 to 254, 255 to 256
interfaces,See RPC (remote procedurecall), interface routines; SAF(service access facility)
intermediate level interface routines(RPC)14, 73 to 75
Internet protocols,See TCP (transportcontrol protocol); UDP (userdatagram protocol)
ISTATE environment variable304, 306 to 307, 315

K

kerbd daemon226, 227
Kerberos authentication,SeeAUTH_KERBauthentication
keywords
......RPC language31
......XDR language269
KGETKCRED procedure226, 227
KGETUCRED procedure226, 227 to 228
KSETKCRED procedure226, 227

L

lib library35
libc library137, 138
libnsl library29, 32, 137, 138
libraries
.....lib35
.....libc137, 138
.....libnsl29, 32, 137, 138
.....librpcsvc60
.....lthread112
.....RPC functions139 to 142
.....rpcgen tool and
............libnsl29, 32, 137, 138
............selecting TI-RPC or TS-RPClibrary23, 37, 49
.....XDR180 to 182
............See also XDR (external datarepresentation)
...................primitive routines
librpcsvc library60
lifetime of credentials,See window ofcredentials
limits
.....broadcast request size90
.....maximum number of threads119
linked lists
.....XDR203 to 206, 266
listen port monitor
.....administrative command for306
.....rpcgen tool and30, 52 to 53
.....using104, 105 to 106
listing
.....See also printing
.....NIS+ objects157, 166 to 168
.....NIS+ principals155
.....NIS+ servers156
.....NIS+ table objects154, 166 to 168
.....portmap mappings300
.....remote directory listing service30 to 35, 281 to 285
.....rpcbind addresses248
.....rpcbind mappings12, 243, 246
live code examples281 to 294
.....adding two numbers program286
.....batched code291 to 294
.....directory listing program281 to 285
......print message program287 to 291
......spray packets program286 to 287
......time server program285
loading,See binding
local procedures
......converting to remote procedures23 to 30
locks
......mutex, multithreaded mode and117
......port monitor IDs and lock files305, 315, 330
_log file
......SAC (service access controller)330
log functions
......NIS+ transaction153, 156
low-level data structures82 to 85
lthread library112

M

main server function52
makefile templates
......rpcgen tool22, 38
mapping15
......See alsoportmap routine;rpcbindroutine
master servers
......NIS+150, 153, 172
maximums
......broadcast request size90
......number of threads119
memory
......allocating with XDR134 to 135
......releasing
............45
............clnt_destroy routine28, 68, 70, 78
............free routine35
............NIS+154, 155, 156
............simplified interface and68
............svc_done routine123
............svc_freeargs routine135
............XDR_FREE operation187
............xdr_free routine35, 45
.....XDR primitive requirements for183 to 185, 187
memory streams
.....XDR199
mesg_proc.c routine290 to 291
message classes309
message interface (SAF)306 to 309, 315, 321 to 327, 330
messageprog_1_freeresultroutine45
modifying,See changing
msg.h header file29
msg.x program42, 290
msg_clnt.c routine29
msg_svc.c program29
msg_svc.c routine29
MT Auto mode117, 119 to 122
.....code examples120 to 122
.....described117, 119
.....rpcgen tool and22, 37, 48
.....service transport handle and118
MT hot
.....defined332
MT RPC programming,See multithreadedRPC programming
MT User mode117, 118, 123 to 130
MT-safe code
.....clients22, 42 to 44, 45 to 47, 59, 332
.....defined332
.....rpcgen tool and22, 37, 42 to 48
.....servers22, 44 to 45, 47 to 48, 59, 117, 332
multiple client versions108 to 109
multiple server versions106 to 108
multithreaded Auto mode,See MT Automode
multithreaded hot
.....defined332
multithreaded RPC programming111 to 130
.....clients
............overview111 to 116
............safety22, 42 to 44, 45 to 47, 59, 332
............User mode123, 124 to 126
......library112
......maximum number of threads119
......overview111
......performance enhancement120, 127
......rpcgen tool and22, 37, 42 to 48
......servers
............Auto mode22, 37, 48, 117, 118, 119 to 122
............overview111, 116 to 118
............safety22, 44 to 45, 47 to 48, 59, 117, 332
............timing diagram118
............unsafe routines117
............User mode117, 118, 123, 127 to 130
multithreaded User mode117, 118, 123 to 130
multithreaded-safe code,See MT-safe code
mutex locks
......multithreaded mode and117

N

Name Service Switch152
name-to-address translation17 to 18, 19, 137
naming
......See also identifying; NIS+ (NetworkInformation Services Plus)
......client stub programs byrpcgen29
......netnames100, 221
......programs by version number106
......remote procedure calls byrpcgen27
......server programs byrpcgen29
......standard for221
......template files forrpcgen38
naming service,See NIS+ (NetworkInformation Services Plus)
netbuf addresses18, 247
netconfig database16, 51, 138
netdir_getbyaddr routine18
netdir_getbyname routine18
netnames100, 221
NETPATH environment variable16, 51, 70
nettype parameters16
network addresses,See addresses
network file system,See NFS (network filesystem)
Network Information Services Plus,SeeNIS+ (Network InformationServices Plus)
network names100, 221
network pipes177
network selection
.....RPC16
.....rpcgen tool50, 51
network services
.....defined332
Newstyle (C-style) mode
.....rpcgen tool22, 37, 39 to 41
NFS (network file system)
.....described4
.....Kerberos authentication and226 to 228
NFSPROC_GETATTR procedure227
NFSPROC_STATVFS procedure228
nicknames
.....AUTH_DES222 to 223, 224 to 225
.....AUTH_KERB103 to 104, 227, 228 to 229, 230
NIS+
.....servers
............sample program172
NIS+ (Network Information ServicesPlus)149 to 173
.....application programming interface(API)153 to 157
.....cache administration commands153
.....client administration commands153
.....compilation158
.....database access functions153, 155, 156
.....domains
............administration commands153
............functions155, 157
............overview149 to 150
......error message display functions153, 156
......groups
............administration commands152
............manipulation functions153, 155
............sample programs163, 169 to 173
......local name functions153, 155, 157
......miscellaneous functions153, 157
......Name Service Switch152
......namespace administrationcommands152 to 153
......objects
............administration commands152, 153
............manipulation functions153, 154, 157
............sample programs158 to 173
......overview5, 149 to 153
......sample program157 to 173
......security151
............administration commands152
......servers
............administration commands153
............functions153, 155 to 156
............overview150
......tables
............access functions153, 154
............administration commands152
............overview150 to 151
............sample programs163 to 165
......time synchronization156
......transaction log functions153, 156
......unsupported macros158
nis_add function154, 158, 162, 164
nis_add_entry function154, 158, 165
nis_addmember function155, 158, 161
nis_admin functions156
nis_cachemgr command153
nis_checkpoint function157
nis_clone_object function157
nis_creategroup function155, 158, 163
nis_db functions156
nis_destroy_object function157
nis_destroygroup function155, 158, 169 to 170
nis_dir_cmp function157
nis_domain_of function157, 158
nis_error functions156
nis_first_entry function154
nis_freenames function155
nis_freeresult function154, 158
nis_freeservlist function156
nis_freetags function156
nis_getnames function155
nis_getservlist function156
nis_groups functions155
nis_ismember function155
nis_leaf_of function157, 158, 167
nis_lerror function156
nis_list function154, 158, 166 to 168
nis_local_directory function155, 158, 159
nis_local_group function155
nis_local_host function155
nis_local_names functions155
nis_local_principal function155, 158, 159
nis_lookup function154, 158 to 160, 165, 166 to 167
nis_mkdir function155, 158, 162
nis_modify function154
nis_modify_entry function154
nis_name_of function157
nis_names functions154
nis_next_entry function155
nis_perror function156, 158
nis_ping function156
nis_print_group_entry function155
nis_print_object function157
nis_remove function154, 158, 162, 168 to 169, 170
nis_remove_entry function154, 158, 169, 170
nis_removemember function155, 158, 170
nis_rmdir function155
nis_server functions155 to 156
nis_servstate function156
nis_sperrno function156
nis_sperror function156
nis_stats function156
nis_subr functions157
nis_tables functions154
nis_verifygroup function155
nisaddcred command152
nisaddent command152
niscat command152
nischgrp command152
nischmod command152
nischown command152
nischttl command153
nisdefaults command153
nisgrep command152
nisgrpadm command152
nisinit command153
nisln command153
nisls command152
nismatch command152
nismkdir command153
nispasswd command152
nisrm command153
nisrmdir command153
nissetup command153
nisshowcache command153
nistbladm command152
nisupdkeys command152
nlsadmin command306
no-data routine
......XDR187
NULL arguments63
NULL pointers197
NULL strings239
NULL transport type16
number filters, XDR65 to 66, 185 to 186
.....See alsoxdr_long routine
number of users
.....on a network98 to 99
.....on a remote host60
numbers
.....See also floating point; integers; portnumbers; procedurenumbers; program numbers;version numbers
.....adding two286

O

objects (NIS+)
.....administration commands152, 153
.....manipulation functions153, 154, 157
.....sample programs158, 158 to 173
ONC+ overview3 to 5
opaque data
.....declarations
............RPC language239
............XDR language258 to 260
.....XDR code examples192 to 193
open TLI file descriptors
.....passing76, 79
optional-data unions
.....XDR language266

P

parameters,See arguments
passing parameters,See arguments
percent sign (%), preprocessingdirective36
_pid file305, 315, 322, 330
ping program230 to 231, 332
pipes
.....network177
....._pmpipe file307, 315, 330
....._sacpipe file307, 315, 330
pm_maxclass field309
pm_size field308, 309
pmadm command105 to 106, 306, 311, 313, 320 to 321
pmap_getmaps routine141
pmap_getport routine141 to 142
pmap_rmtcall routine141
pmap_set routine141
pmap_unset routine141
PMAPPROC_CALLIT procedure300
PMAPPROC_DUMP procedure300
PMAPPROC_GETPORT procedure299
PMAPPROC_NULL procedure299
PMAPPROC_SET procedure299
PMAPPROC_UNSET procedure299
pmmsg structure308
_pmpipe file307, 315, 330
_pmtab file306, 311 to 312, 315, 330
/pmtag directory306, 311, 330
/pmtag directory329
PMTAG environment variable306, 315
pointers
......remote procedures26 to 27
......RPC language235 to 236
......XDR code examples196 to 197
poll routine88 to 90
pop configuration-script keyword318
port monitors
......activity monitoring304
......adding302
......adding services311
......administrative commands
............monitor-specific command313 to 314
............pmadm105 to 106, 306, 311, 313, 320 to 321
............sacadm106, 302, 310, 312 to 313, 319 to 320
......administrative files
............_pmtab306, 311 to 312, 315, 330
............_sactab329, 310
......administrative interface309 to 316
.....changing port monitor services311
.....configuration scripts316 to 321
............installing319 to 321
............language for writing318 to 319
............per-port monitor315, 316, 317, 320, 330
............per-service305, 306, 314, 315, 316, 317 to 318, 320 to 321, 330
............per-system316, 317, 319 to 320, 329
............printing319 to 321
............replacing319 to 321
.....deleting services311
.....disabling304, 307
.....enabling304, 307
.....files
............administrative306, 310, 311 to 312, 315, 329, 330
............key315
............per-port monitorconfiguration315, 316, 317, 320, 330
............per-service configuration305, 306, 314, 315, 316, 320 to 321, 330
............per-system configuration316, 317, 319 to 320, 329
............private306, 311
............process ID305, 315, 330
.....functions303 to 305, 315 to 316
.....home directory for329
.....identifying services311
.....management function303
.....message interface306 to 309, 315, 321 to 327, 330
....._pmpipe file307, 315, 330
.....private files306, 311
.....process IDs and lock files305, 315, 330
.....removing302
.....requirements for implementing314 to 315
.....restricting access to system304
.....rpcgen tool and30, 50, 52 to 53
.....sample code321 to 327
......service interface314
......terminating305, 315
......types of310
......using104 to 106
......utmp entry creation305, 312, 316
......version numbers312, 313 to 314
......writing with service access facility,SeeSAF (service access facility)
port numbers
......getting for registered services141 to 142, 295 to 300
......portmap routine299
......rpcbind routine19, 245
......TCP/IP protocol19, 245, 299
......UDP/IP protocol19, 245, 299
porting data,See XDR (external datarepresentation)
porting TS-RPC to TI-RPC136 to 145
......applications136
......benefits136
......code comparison examples142 to 145
......differences between TI-RPC and TS-RPC138, 142 to 145
......function compatibility lists139 to 142
......libc library and137
......libnsl library and137
......name-to-address mapping and137
......old interfaces and137
portmap routine295 to 300
......address management functions141
......broadcast RPC and297, 300
......operation of299 to 300
......overview295 to 296
......port number299
......protocol specification for296 to 298
......replacement of18, 295
......TS-RPC and138
ports
......defined303
preprocessing directives
......rpcgen tool35 to 37, 50, 51
printing
......See also listing
.....message to system console23 to 30, 287 to 291
.....port monitor configurationscripts319 to 321
printmsg.c program
.....remote version24 to 30, 288 to 291
.....single process version23 to 24, 287 to 288
procedure numbers
.....described12, 210
.....error conditions211
procedure-lists
.....RPC language232
procedures
.....registering as RPC programs13, 64
.....RPC language232
program declarations
.....RPC language237 to 238
program numbers210 to 213
.....See also version numbers
.....assigning212 to 213
.....described12, 210
.....error conditions211
.....mapping,Seeportmap routine;rpcbind routine
.....registering213
.....transient (dynamically assigned)109 to 110, 212
program-definitions
.....RPC language232
PROGVERS program name106
PROGVERS_ORIG program name106
protocols
.....See also TI-RPC (transport-independent remoteprocedure call), protocol;transport protocols; XDRlanguage
.....AUTH_DES223 to 226
.....rpcbind protocol specification240 to 245
.....specifying in RPC language24
push configuration-script keyword318

Q

quadruple-precision floating point
......XDR language257 to 258

R

raw RPC
......testing programs using low-level85 to 87
READDIR procedure30 to 35, 281 to 285
record streams
......XDR199 to 201, 217 to 218
record-marking standard217 to 218
recursive data structures203 to 206, 266
registering
......addresses,Seeportmap routine;rpcbind routine
......authentication numbers218
......current vs. previous release140
......hand-coded registration routine64
......procedures as RPC programs13, 63, 64
......program numbers213
......program version numbers106
registerrpc routine140
releasing memory,See memory, releasing
remote copy routine131 to 134
remote directory listing service30 to 35
remote procedure call,See RPC (remoteprocedure call)
remote procedures
......converting local procedures to23 to 30
......identifying12, 209, 210 to 213
remote time protocol36, 48
removing,See deleting; destroying; freeingresources
rendezvousing
......TI-RPC and210
rpcgen tool
......flags
............-Sc (templates)38
replacing,See changing
replica servers
.....NIS+150, 153
reporting,See information reporting
rls.c routine33 to 35, 284 to 285
RPC (remote procedure call)
.....See also authentication; multithreadedRPC programming; RPClanguage (RPCL);rpcgentool
.....address lookup services15, 18, 19
.....address registration,Seeportmaproutine;rpcbind routine
.....address reporting20
.....address translation17 to 18, 19, 137
.....asynchronous mode88 to 90
.....batching92 to 95, 213, 291 to 294
.....broadcast,See broadcast RPC
.....described9 to 10, 208
.....errors29, 56 to 57, 211
.....failure of29
.....identifying remote procedures12, 209, 210 to 213
.....indirect244, 245, 248
.....information reporting20, 109 to 110
.....interface routines13 to 15, 59 to 82
............bottom level15, 80 to 82
............caching servers82
............expert level15, 75 to 80
............intermediate level14, 73 to 75
............low-level data structures82 to 85
............overview13 to 15, 59 to 60, 68
............simplified13, 60 to 67, 68
............standard13 to 15, 68 to 85
............top level14, 28 to 29, 68 to 72
.....interface routines,See TI-RPC(transport-independentremote procedure call),interface routines
.....multiple client versions108 to 109
.....multiple server versions106 to 108
.....name-to-address translation17 to 18, 19, 137
.....network selection16
.....poll routine88 to 90
......port monitor usage104 to 106
......protocol,See TI-RPC (transport-independent remoteprocedure call)
............protocol
......raw, testing programs using low-level85
......record-marking standard217 to 218
......standards10, 217 to 218
......transient RPC program numbers109 to 110, 212
......transport selection17 to 18
......transport types16
RPC language
......reference272 to 279
RPC language (RPCL)230 to 240
......See alsorpcgen tool
......arrays234 to 235
......booleans239
......C vs.21
......constants233
......C-style mode and238
......declarations234 to 235
......definitions231 to 232, 272
......discriminated unions31, 236 to 237
......enumerations31, 232 to 233
......example protocol described in24
......example service described in230 to 231
......fixed-length arrays234 to 235
......keywords31
......opaque data239
......overview272, 332
......pointers235 to 236
......portmap protocol specificationin297 to 298
......program declarations237 to 238
......simple declarations234
......special cases238 to 240
......specification for230 to 240
......strings25, 239
......structures31, 236
......syntax231 to 232, 272
......type definitions233
......unions31, 236 to 237
.....variable-length arrays235
.....voids240
.....XDR language vs.230, 232, 272
rpc.nisd command153
RPC/XDR,See RPC language (RPCL)
RPC_AUTHERROR error223
rpc_broadcast routine
.....current vs. previous release141, 143
.....described13
.....source code144 to 145
.....using90 to 92
rpc_call routine
.....current vs. previous release140
.....described13, 61
.....using61, 62
RPC_CLNT preprocessing directive36
rpc_control routine117, 119, 123
rpc_createerr global variable70
__rpc_dtbsize function88, 89
RPC_HDR preprocessing directive36
rpc_reg routine
.....current vs. previous release140
.....described13
.....using63, 64
__rpc_select_to_poll function88, 89
RPC_SVC preprocessing directive36
RPC_SVC_MTMODE_GET libraryroutine119, 123
RPC_SVC_MTMODE_SET libraryroutine119
RPC_SVC_THRCREATES_GET libraryroutine119
RPC_SVC_THRERRORS_GET libraryroutine119
RPC_SVC_THRMAX_GET libraryroutine119
RPC_SVC_THRMAX_SET libraryroutine119
RPC_SVC_THRTOTAL_GET libraryroutine119
RPC_TBL preprocessing directive36
RPC_XDR preprocessing directive36
rpcb_getaddr routine15, 141 to 142
rpcb_getmaps routine141
rpcb_gettime routine141
rpcb_rmtcall routine141
rpcb_set routine
......current vs. previous release141
......described15, 79
rpcb_unset routine15, 141
rpcbind daemons
......broadcast RPC and90
......registering addresses with19
rpcbind routine
......See alsospecific procedures
......address management functions141
......broadcast RPC and240, 248
......calling15
......described11, 18 to 19, 138, 141, 222, 240
......listing mappings12, 243, 246
......operation of245 to 248
......port number19, 245
......portmap routine replaced by18, 295
......protocol specification for240 to 245
......time service141, 222, 247
......version 4247 to 248
RPCBPROC_BCAST procedure244, 248
RPCBPROC_CALLIT procedure19, 243, 247, 248
RPCBPROC_DUMP procedure243, 246
RPCBPROC_GETADDR procedure243, 246
RPCBPROC_GETADDRLISTprocedure245, 248
RPCBPROC_GETSTAT procedure245, 248
RPCBPROC_GETTIME procedure222, 244, 247
RPCBPROC_GETVERSADDRprocedure244 to 245, 248
RPCBPROC_INDIRECT procedure244, 245, 248
RPCBPROC_NULL procedure243, 245
RPCBPROC_SET procedure243, 246, 248
RPCBPROC_TADDR2UADDRprocedure244, 247
RPCBPROC_UADDR2TADDRprocedure244, 247
RPCBPROC_UNSET procedure243, 246, 248
rpcgen tool21 to 57
.....add two numbers program286
.....advantages22
.....arguments26 to 27, 39 to 41, 63, 64 to 67, 238
.....authentication and51, 54, 99 to 104
.....batched code example291 to 294
.....broadcast call server response50, 52
.....C and
............ANSI C compliance23, 37, 49
............C-style mode22, 37, 39 to 41, 238
............preprocessing directives35 to 37, 50, 51
............SPARCompiler C++ 3.0compatibility49
.....client handles and,See client handles
.....client programs and,See clientprograms
.....client stub routines and,See clientstub routines
.....compilation modes22, 39 to 41
.....complex data structure passing30 to 35
.....converting local procedures to remoteprocedures23 to 30
.....cpp directive37
.....debugging50, 51, 56 to 57
.....defaults
............argument passing mode39, 40 to 41
............C preprocessor37
............client time-out period53
............compilation mode22
............library selection49
............MT-safety22, 42
............output21
............server exit interval53
.....define statements on commandline50, 51
.....described21 to 22
......directory listing program30 to 35, 281 to 285
......dispatch tables50, 55 to 56
......failure of remote procedure calls29
......flags
............-A (MT Auto mode)37, 48
............-a (templates)37, 38
............-b (TS-RPC library)37, 49
............-i (xdr_inline count)37, 50
............listed37
............-M (MT-safe code)37, 42
............-N (C-style mode)37, 39
............-Sc (templates)37
............-Sm (templates)37, 38
............-Ss (templates)37, 38
......hand-coding vs.64
......handles and,See client handles; serverhandles
......libraries
............libnsl29, 32, 137, 138
............selecting TI-RPC or TS-RPClibrary23, 37, 49
......MT (multithread) Auto mode22, 37, 48, 119 to 122
......MT (multithread)-safe code22, 37, 42 to 48
......naming remote procedure calls27
......network types/transportselection50, 51
......Newstyle (C-style) mode22, 37, 39 to 41
......optional output21
......pointers26 to 27
......port monitor support30, 50, 52 to 53
......preprocessing directives35 to 37, 50, 51
......print message program23 to 30, 287 to 291
......programming techniques50 to 57
......server handles and,See server handles
......server programs and,See serverprograms
......server stub routines and,See serverstub routines
......socket functions and49
......spray packets program286 to 287
.....stub routines and,See client stubroutines; server stubroutines
.....SunOS 5.x features22 to 23
.....templates22, 37, 38, 39 to 41
.....time server program36, 48, 285
.....time-out changes51, 53
.....TI-RPC vs. TS-RPC138
.....TI-RPC vs. TS-RPC libraryselection23, 37, 49
.....tutorial23 to 37
.....variable declarations and234
.....XDR routine generation30 to 35, 36, 175
.....xdr_inline count37, 50
rpcinfo routine19, 20
RPCPROGVERSMISMATCH error108
/rpcsvc directory213
rprintmsg routine30
rq_clntcred field97
rq_cred field96 to 97
rstat program
.....multithreaded111 to 116
run configuration-script keyword319
runwait configuration-scriptkeyword318 to 319
rusers routine60 to 63

S

SAC (service access controller)
.....described302 to 305
.....key files310, 315, 329
.....log file330
.....message interface306 to 309, 315, 321 to 327, 330
.....sac.h header file325 to 327
.....sacadm command106, 302, 310, 312 to 313, 319 to 320
....._sacpipe file307, 315, 330
....._sactab file310, 329
.....starting315, 317
sac.h header file325 to 327
sacadm command106, 302, 310, 312 to 313, 319 to 320
_sacpipe file307, 315, 330
_sactab file310, 329
SAF (service access facility)301 to 330
......administrative interface309 to 316, 319 to 321
............key files315
............monitor-specific command313 to 314
............pmadm command105 to 106, 306, 311, 313, 320 to 321
............_pmtab file306, 311 to 312, 315, 330
............port monitor implementationrequirements314 to 315
............port monitorresponsibilities315 to 316
............sacadm command106, 302, 310, 312 to 313, 319 to 320
............_sactab file310, 329
............service interface314
......configuration scripts316 to 321
............installing319 to 321
............language for writing318 to 319
............per-port monitor315, 316, 317, 320, 330
............per-service305, 306, 314, 315, 316, 317 to 318, 320 to 321, 330
............per-system316, 317, 319 to 320, 329
............printing319 to 321
............replacing319 to 321
......directory structure329 to 330
......files used by306, 310, 311 to 312, 315
......logic diagram327, 328
......message interface306 to 309, 315, 321 to 327, 330
......overview301 to 305
......port monitor functions and303 to 305, 315 to 316
......SAC (service access controller)and302 to 305, 306 to 309
.....sample code321 to 327
.....terminating port monitors305, 315
sc_size field307, 309
searching NIS+ tables154
security
.....See also access control; authentication
.....NIS+151
semantics
.....TI-RPC call12, 209
serializing30 to 35, 64 to 67, 134 to 135, 177 to 179, 181 to 182, 332
.....See also XDR (external datarepresentation)
server handles
.....creating
............bottom level interface15, 81 to 82
............current vs. previous release139 to 140
............expert level interface15, 79 to 80
............intermediate level interface14, 74 to 75
............top level interface14, 71 to 72
.....destroying, current vs. previousrelease139
.....low-level data structures for83 to 85
server programs
.....remote copy133 to 134
.....rpcgen tool and
............broadcast call response50, 52
............client authentication51, 54, 96 to 97
............complex data structurepassing32 to 33
............C-style mode41
............debugging56 to 57
............directory listing service32 to 33, 282 to 283
............MT Auto mode48
............MT-safety22, 47 to 48
............network type/transportselection50, 51
............overview23, 29
.....simplified interface63
.....transient RPC program110
server stub routines
......rpcgen21
......rpcgen tool and21
......rpcgen tool and23, 29
............ANSI C-compliant49
............MT Auto mode48
............MT-safe22, 44 to 45
............preprocessing directive36
server templates
......rpcgen tool22, 37, 38, 41
server transport handle83 to 85
servers
......See also registering
......authentication and96 to 97, 98 to 99, 100 to 101
......batched94 to 95, 292 to 293
......caching82
......crashes209, 223
......defined332, 333
......dispatch tables50, 55 to 56
......exit interval,rpcgen tool and52 to 53
......multiple versions106 to 108
......multithreaded
............Auto mode22, 37, 48, 117, 118, 119 to 122
............overview111, 116 to 118
............safety22, 44 to 45, 47 to 48, 59, 117, 332
............unsafe routines117
............User mode117, 118, 123, 127 to 130
......NIS+150, 153, 155 to 156
......poll routine and88 to 90
......port monitors and104 to 106
......transaction IDs and209
service access controller,See SAC (serviceaccess controller)
service access facility,See SAF (serviceaccess facility)
service transport handle (SVCXPRT)104, 118
service-dispatch routine
......authentication and96 to 97
setnetconfig routine78
signed integers
.....XDR language253 to 254
simple declarations
.....RPC language234
simplified interface routines (RPC)13, 60 to 67
.....client61 to 62
.....hand-coded registration routine64
.....MT safety of59
.....overview13, 60
.....routines not usable with68
.....server63
.....XDR conversion64 to 67
single-threaded mode
.....as default117
.....poll routine and88 to 90
socket functions,See TS-RPC (transport-specific remote procedure call)
SPARCompiler C++ 3.0
.....rpcgen tool and49
spray.x (spray packets) program286 to 287
standard interface routines (RPC)13 to 15, 68 to 85
.....bottom level routines15, 80 to 82
.....expert level routines15, 75 to 80
.....intermediate level routines14, 73 to 75
.....low-level data structures82 to 85
.....MT safety of59
.....server caching82
.....top level routines14, 28 to 29, 68 to 72
standards
.....ANSI C standard,23
.....ANSI C standard,rpcgen tooland37, 49
.....naming standard221
.....record-marking standard217 to 218
.....RPC10, 217 to 218
.....XDR canonical standard179 to 180
statistics,See information reporting
status reporting,See information reporting
stream transports
......See also connection-orientedtransports
......defined333
STREAMS modules
......port monitor configuration and318, 320
streams,See XDR (external datarepresentation), streams
string declarations
......RPC language25, 239
......XDR language260 to 261
string representation
......XDR routines67, 187 to 188
structure declarations
......See also data structures
......RPC language31, 236
......XDR language263, 270 to 271
stub routines,See client stub routines;server stub routines
Sun RPC,See TI-RPC (transport-independent remote procedurecall)
SunOS 5.x
......rpcgen tool features22 to 23
_svc suffix49
_svc.c suffix29
svc_create routine
......current vs. previous release140
......described14, 72
svc_destroy routine68, 139
svc_dg_create routine
......current vs. previous release140
......described15, 84
......using82
svc_dg_enablecache routine82
svc_done routine117, 123
svc_fd_create routine104 to 105, 140
svc_freeargs routine135
svc_getargs routine
......described135
......MT performance and120, 127
svc_getcaller routine140
svc_getreqpoll routine88, 117
svc_getreqset routine88, 117
svc_getrpccaller routine140
svc_pollset routine88
svc_raw_create routine85 to 87, 139, 140
svc_reg routine
.....current vs. previous release140
.....described15
.....port monitors and104
svc_register routine140
svc_run routine
.....bypassing88
.....described63, 72
.....multithreaded RPC servers and117
.....poll routine and88, 89 to 90
svc_sendreply routine72
svc_tli_create routine
.....current vs. previous release140
.....described15, 79
.....using79, 80, 104
svc_tp_create routine14, 139, 140
svc_udp_bufcreate routine139
svc_unreg routine15, 140
svc_unregister routine140
svc_vc_create routine
.....current vs. previous release140
.....described15, 84
.....using82
svcerr_systemerr routine99
svcfd_create routine139
svctag file311 to 312, 315, 316, 330
svcudp_create routine79 to 80, 139
SVCXPRT service transport handle104, 118
svrerr_weakauth routine99
synchronization,See time synchronization
syntax
.....RPC language231 to 232, 272
.....XDR language269 to 270
320
_sysconfig file316, 317, 319 to 320, 329

T

tables (NIS+)
......access functions153, 154
......administration commands152
......overview150 to 151
......sample programs163 to 165
taddr2uaddr routine18
/tag directory,See/pmtag directory
TCP (transport control protocol)
......See also connection-orientedtransports
......nettype parameter for16
......porting TCP applications from TS-RPC to TI-RPC136
......portmap port number for299
......portmap sequence for296 to 297
......RPC protocol and209
......rpcbind port number for19, 245
......server crashes and209
tcp transport type16
TCP/IP protocol,See TCP (transportcontrol protocol)
TCP/IP streams
......XDR199 to 201, 217 to 218
templates
......rpcgen tool22, 37, 38, 39 to 41
terminating port monitors305, 315
testing
......NIS+ groups155
......programs using low-level rawRPC85 to 87
thr_create routine123
thread library
......lthread112
thread.h file123
threads,See MT Auto mode; MT Usermode; MT-safe code;multithreaded RPCprogramming
time
......obtaining current141, 222, 247
......ping program230 to 231
time server program36, 48, 285
time service
.....intermediate level client for73 to 74
.....intermediate level server for74 to 75
.....rpcbind routine141, 222, 247
.....top level client for69 to 70
.....top level server for71 to 72
time synchronization
.....AUTH_DES authentication100, 222 to 223
.....AUTH_KERB authentication102, 229, 230
.....NIS+156
time.x program36, 48, 285
time_prog routine72
timed client creation
.....intermediate level interface14, 74
.....top level interface14, 70
time-out periods
.....rpcgen tool and51, 53
timestamps,See time synchronization
TI-RPC (transport-independent remoteprocedure call)
.....See also RPC (remote procedure call);rpcgen tool
.....address lookup services15, 18, 19
.....address registration,Seerpcbindroutine
.....address reporting20
.....address translation17 to 18, 19, 137
.....call semantics12
.....data representation12
.....described4, 9 to 10
.....identifying remote procedures12, 209, 210 to 213
.....information reporting20, 109 to 110
.....interface routines13 to 15, 59 to 82
............bottom level15, 80 to 82
............caching servers82
............expert level15, 75 to 80
............intermediate level14, 73 to 75
............low-level data structures82 to 85
............overview13 to 15, 59 to 60, 68
............simplified13, 60 to 67, 68
............standard13 to 15, 68 to 85
............top level14, 28 to 29, 68 to 72
......library selection,rpcgen tooland23, 37, 49
......name-to-address translation17 to 18, 19, 137
......network selection16
......parameter passing,See arguments
......protocol207 to 218
............See also RPC language (RPCL)
............authentication and211 to 212
............binding and rendezvousindependence and11, 210
............identifying procedures12, 209, 210 to 213
............in XDR language214 to 217
............overview207 to 209
............record-marking standard217 to 218
............transport protocols andsemantics and11, 12, 209
............version number211
......raw, testing programs using low-level85 to 87
......transient RPC program numbers109 to 110, 212
......transport selection17 to 18
......transport types16
......TS-RPC and,See porting TS-RPC toTI-RPC
TLI (transport-level interface),See expertlevel interface routines
TLI file descriptors
......passing open76, 79
top level interface routines (RPC)14, 28 to 29, 68 to 72
......client28 to 29, 68 to 70
......overview14, 68
......server71 to 72
transaction IDs12, 209
transaction log functions (NIS+)153, 156
transient program numbers109 to 110, 212
translating,See converting
transport
.....defined333
transport addresses (netbufaddresses)18, 247
transport handles
.....defined333
.....server83 to 85
.....SVCXPRT service104, 118
.....XDR routines requiring68
transport protocols
.....See also TCP (transport controlprotocol); UDP (userdatagram protocol)
.....RPC protocol and209
transport selection
.....RPC17 to 18
.....rpcgen tool50, 51
transport types
.....See also connection-orientedtransports; connectionlesstransports
.....described16, 17
.....interfaces and68
.....rpcgen tool and50, 51
transport-independent remote procedurecall,See TI-RPC (transport-independent remote procedurecall)
transport-level interface (TLI) routines,Seeexpert level interface routines
transport-level interface file descriptors
.....passing open76, 79
transport-specific remote procedure call,See TS-RPC (transport-specificremote procedure call)
trees266
TS-RPC (transport-specific remoteprocedure call)
.....library selection,rpcgen tooland37, 49
.....porting to TI-RPC,See porting TS-RPC to TI-RPC
ttyadm command306
ttymon port monitor306
tutorials
......23, 37
type definitions
......RPC language233
......XDR language265 to 266, 270

U

uaddr2taddr routine18
UDP (user datagram protocol)
......See also datagram transports
......broadcast RPC and90
......client creation routines for76 to 78, 81
......nettype parameter for16
......porting UDP applications from TS-RPC to TI-RPC136
......portmap port number for299
......RCP protocol and209
......rpcbind port number for19, 245
......server creation routines for79 to 80, 81 to 82
udp transport type16
UDP/IP protocol,See UDP (user datagramprotocol)
ulimit command319
umask command319
unions
......declarations
............RPC language31, 236 to 237
............XDR language263 to 264, 266, 270
......XDR code samples194 to 196
universal addresses17 to 18, 246, 247, 296, 333
unregistering
......See also registering
......current vs. previous release140
......portmap routine299
......rpcbind routine18, 243, 246
......rpcinfo routine20
unsigned hyper integers
......XDR language255 to 256
unsigned integers
.....XDR language254
user datagram protocol,See UDP (userdatagram protocol)
User MT mode117, 118, 123 to 130
user's bind address
.....passing79
users
.....number of
............on a network98 to 99
............on a remote host60
/usr/include/rpcsvc directory213
/usr/share/lib directory35
utmp entries
.....creating305, 312, 316

V

/var/saf/_log file330
/var/saf/pmtag directory306, 311, 330
variable declarations234
variable-length array declarations
.....See also arrays
.....RPC language235
.....XDR language262
variable-length opaque data
.....See also opaque data
.....XDR language259 to 260
verifiers
.....AUTH_DES221 to 222, 224 to 225
.....AUTH_KERB103, 104, 228, 229 to 230
.....AUTH_SYS219 to 220
.....described211 to 212
version numbers
.....See also program numbers; versions
.....assigning106
.....changing106
.....described12, 106, 210
.....error conditions211
.....mapping,Seeportmap routine;rpcbind routine
.....message protocol211
.....multiple client versions108 to 109
.....multiple server versions106 to 108
.....port monitors312, 313 to 314
......registration of106
version-lists
......RPC language232
versions
......See also version numbers
......library functions, compatibility ofcurrent vs. previousrelease139 to 142
......RPC language232
visible transport type16
void arguments238
void declarations
......RPC language240
......XDR language264

W

window of credentials
......AUTH_DES authentication100, 223 to 224
......AUTH_KERB authentication102, 229
......defined222
......window verifiers222

X

x_base field202
x_destroy macro202
x_getbytes routine202
x_getlong routine202 to 203
x_getpostn macro202
x_handy field202
x_inline routine202
x_op198
x_op field202
x_private field202
x_public field202
x_putbytes routine202
x_putlong routine202 to 203
x_setpostn macro202
.x suffix32
XDR (external data representation)175 to 206
.....See also XDR language
.....block size252
.....canonical standard179 to 180
.....converting from (deserializing)64, 67, 72, 134, 135, 181 to 182, 331
.....converting to (serializing)30 to 35, 64 to 67, 134 to 135, 177 to 179, 181 to 182, 332
.....cost of conversion179 to 180
.....described4, 175 to 179, 251
.....direction determination foroperations198
.....direction independence ofroutines181
.....file data structure in270 to 271
.....graphic box notation252
.....library180 to 182
............See also XDR (external datarepresentation), primitiveroutines
.....linked lists203 to 206, 266
.....memory allocation with134 to 135
.....optimizing routines198
.....primitive routines65 to 67, 181, 182 to 201
............arrays189 to 192, 193 to 194
............byte arrays189
............constructed (compound) datatype filters66 to 67, 187
............discriminated unions194 to 196
............enumeration filters186 to 187
............fixed-length arrays193 to 194
............floating point filters65, 186
............memory requirements183 to 185, 187
............no-data routine187
............nonfilter198
............number filters65 to 66, 185 to 186
............opaque data192 to 193
............overview182
............pointers196 to 197
............strings67, 187 to 188
............unions194 to 196
.....protocol,See XDR language
......remote copy (two-way XDR)routine131 to 134
......rpcgen tool and30 to 35, 36, 175
......streams
............accessing198
............creation by RPC system180
............implementing new instancesof201 to 203
............interface to201 to 203
............memory199
............nonfilter primitives for198
............record (TCP/IP)199 to 201, 217 to 218
............standard I/O199
......transport handles and68
XDR language253 to 271
......arrays261 to 262, 270
......AUTH_DES authentication protocolin223 to 226
......booleans255
......comments267
......constants265, 267, 270
......counted byte strings260 to 261
......declarations253 to 266
......discriminated unions263 to 264, 266, 270
......enumerations254 to 255
......file data structure described in270 to 271
......fixed-length arrays261 to 262
......fixed-length opaque data258 to 259
......floating point256 to 258
......hyper integers255 to 256
......identifiers267
......integers177 to 178, 253 to 254, 255 to 256
......keywords269
......opaque data258 to 260
......optional-data unions266
......overview251 to 252, 333
......quadruple-precision floatingpoint257 to 258
......RPC language vs.230, 232, 272
......RPC message protocol in214 to 217
......signed integers253 to 254
.....specification for267 to 271
.....strings260 to 261
.....structures263, 270 to 271
.....syntax269 to 270
.....type definitions265 to 266, 270
.....unions263 to 264, 266, 270
.....unsigned hyper integers255 to 256
.....unsigned integers254
.....variable-length arrays262
.....variable-length opaque data259 to 260
.....voids264
xdr_ prefix32
xdr_array routine66, 189 to 192, 196
xdr_bool routine65
xdr_bytes routine66, 67, 189
xdr_char routine65, 185
xdr_chararr routines134 to 135
xdr_cnd routine192
XDR_DECODE operation187
xdr_destroy routine198
xdr_double routine65, 186
xdr_element routine190
XDR_ENCODE operation187
xdr_enum routine65
xdr_float routine65, 186
XDR_FREE operation187
xdr_free routine35, 45
xdr_getpos routine198
xdr_gnumbers routine181 to 182, 203 to 206
xdr_history routine192
xdr_inline count37, 50
xdr_int routine65, 185
xdr_long routine65, 177 to 178, 181, 185
xdr_netobj routine65, 193
xdr_opaque routine66, 192
xdr_party routine191
xdr_pgn routine197
xdr_pointer routine66, 197, 204 to 205, 206
xdr_quadruple routine65
xdr_rcp routine131 to 134, 143
xdr_reference routine66, 67, 196 to 197, 206
xdr_setpos routine198
xdr_short routine65, 186
xdr_simple routine65, 67
xdr_sizeof routine183 to 185
xdr_string routine65, 66, 67, 188, 191, 192
xdr_type(object) notation103
xdr_u_char routine65, 185
xdr_u_int routine65, 185
xdr_u_long routine65, 186
xdr_u_short routine65, 186
xdr_union routine66, 194 to 196
xdr_varintarr routine66
xdr_vector routine66 to 67, 193 to 194
xdr_void routine65, 187
xdr_wrapstring routine65, 191, 192
xdrmem_create routine199
xdrrec_create routine200
xdrrec_endofrecord routine200 to 201
xdrrec_eof routine201
xdrrec_skiprecord routine201
xdrstdio_create routine180, 199
xp_fd field84
xp_ltaddr field84
xp_netid field84
xp_rtaddr field84
xp_tp field84
xprt_register routine140
xprt_unregister routine140