Connected: An Internet Encyclopedia
RFC 1833 - 3.1 Port Mapper Protocol Specification (in RPC Language)

Top: Connected: An Internet Encyclopedia
Up: Requests For Comments
Up: RFC 1833
Up: 3. Port Mapper Program Protocol
Prev: 3. Port Mapper Program Protocol
Next: 3.2 Port Mapper Operation

### 3.1 Port Mapper Protocol Specification (in RPC Language)

          const PMAP_PORT = 111;      /* portmapper port number */

A mapping of (program, version, protocol) to port number:

          struct mapping {
             unsigned int prog;
             unsigned int vers;
             unsigned int prot;
             unsigned int port;
          };

Supported values for the "prot" field:

          const IPPROTO_TCP = 6;      /* protocol number for TCP/IP */
          const IPPROTO_UDP = 17;     /* protocol number for UDP/IP */

A list of mappings:

          struct *pmaplist {
             mapping map;
             pmaplist next;
          };

Arguments to callit:

          struct call_args {
             unsigned int prog;
             unsigned int vers;
             unsigned int proc;
             opaque args<>;
          };

Results of callit:

          struct call_result {
             unsigned int port;
             opaque res<>;
          };

Port mapper procedures:

          program PMAP_PROG {
             version PMAP_VERS {
                void
                PMAPPROC_NULL(void)         = 0;

                bool
                PMAPPROC_SET(mapping)       = 1;

                bool
                PMAPPROC_UNSET(mapping)     = 2;

                unsigned int
                PMAPPROC_GETPORT(mapping)   = 3;

                pmaplist
                PMAPPROC_DUMP(void)         = 4;

                call_result
                PMAPPROC_CALLIT(call_args)  = 5;
             } = 2;
          } = 100000;

Next: 3.2 Port Mapper Operation

Connected: An Internet Encyclopedia
RFC 1833 - 3.1 Port Mapper Protocol Specification (in RPC Language)