/* From RFC 1833 */ const PMAP_PORT = 111; /* portmapper port number */ struct mapping { unsigned int prog; unsigned int vers; unsigned int prot; unsigned int port; }; const IPPROTO_TCP = 6; /* protocol number for TCP/IP */ const IPPROTO_UDP = 17; /* protocol number for UDP/IP */ struct pmaplist { mapping map; pmaplist *next; }; typedef pmaplist * pmaplist_p; struct call_args { unsigned int call_prog; unsigned int call_vers; unsigned int call_proc; opaque call_args<>; }; struct call_result { unsigned int call_port; opaque call_res<>; }; program PMAP { version V2 { void PMAPPROC_NULL(void) = 0; bool PMAPPROC_SET(mapping) = 1; bool PMAPPROC_UNSET(mapping) = 2; unsigned int PMAPPROC_GETPORT(mapping) = 3; pmaplist_p PMAPPROC_DUMP(void) = 4; call_result PMAPPROC_CALLIT(call_args) = 5; } = 2; } = 100000;