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

Up: 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)

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
3.1 Port Mapper Protocol Specification (in RPC Language)