ependent communication. The client and server need not be machines of the same type. Simple NULL-terminated strings can be used for passing and receiving the directory name and directory contents. The program, procedure, and version numbers for client and servers can be set using rpcgen or relying on predefined macros in the simplified interface. Program numbers are defined in a standard way: 0x00000000 - 0x1FFFFFFF: Defined by Sun 0x20000000 - 0x3FFFFFFF: User Defined Fundamentals of EMS, NMS and OSS/BSS 0x40000000 - 0x5FFFFFFF: Transient 0x60000000 - 0xFFFFFFFF: Reserved 27.5 Interface Routines Some of the RPC interface routines are: rpc_reg(): This routine will register a procedure as an RPC program on all transports of the specified type. rpc_broadcast(): This routine will broadcast a call message across all trans- ports of the specified type. rpc_call(): This routine is used to make remote calls to a procedure on the specific remote host. clnt_create(): This is the client creation routine, called with details of where the server is located and transport type to use. clnt_tp_create(): This routine is used to create the client handle for the speci- fied transport. clnt_call(): This routine is used by the client to send a request to the server. clnt_create_timed(): This routine allows the programmer to specify the maximum time allowed for each type of transport tried during the creation attempt. svc_create(): Server handles for all transports of the specified type are created using this interface routine. svc_tp_create(): This routine is used to create server handle for the specified transport. rpcb_set(): This routine is used to set a map between an RPC service and a network address. rpcb_unset(): This routine is used to unset a map between the RPC service and network address created using set routine. rpcb_getaddr(): This routine is used to get the transport addresses of specified RPC services. svc_reg(): The program and version number pair are associated with the spec- ified dispatch routine using this inter