Purpose
Returns a list of the current Remote Procedure Call (RPC) program-to-port mappings on the host.
Library
C Library (libc.a)
Syntax
#include <rpc/rpc.h>
  struct pmaplist *pmap_getmaps ( addr)
struct sockaddr_in *addr;
Description
The pmap_getmaps subroutine acts as a user interface to the portmap daemon. The subroutine returns a list of the current RPC program-to-port mappings on the host located at the Internet Protocol (IP) address pointed to by the addr parameter.
Parameters
| Item | Description | 
|---|---|
| addr | Specifies the address where the machine's IP address is placed. | 
Return Values
If there is no list of current RPC programs, this procedure returns a value of null.
Purpose
Returns a list of the current Remote Procedure Call (RPC) program-to-port mappings on the host.
Library
C Library (libnsl.a)
Syntax
#include <rpc/rpc.h>
 struct pmaplist *pmap_getmaps(addr)
struct sockaddr_in *addr;
Description
The pmap_getmaps subroutine acts as a user interface to the portmap daemon. The subroutine returns a list of the current RPC program-to-port mappings on the host located at the Internet Protocol (IP) address pointed to by the addr parameter.
Parameters
| Item | Description | 
|---|---|
| addr | Specifies the address where the machine's IP address is placed. | 
Return Values
| Item | Description | 
|---|---|
| a pointer to the first element of the list | successful | 
| a null value | unsuccessful | 
Examples
In the following example, the pmap_getmaps subroutine obtains a list of the current RPC program-to-port mappings on the host.
#include <rpc/rpc.h>
#include <stdio.h>
int main()
{
  rpcprog_t PROGNUM = 0x3fffffffL ;
  rpcvers_t PROGVER = 0x1L ;
  struct hostent *hp;
  struct sockaddr_in addr;
  struct pmaplist *plist = NULL;
  /* Obtain the host information */
  hp = (struct hostent *) gethostbyname(hostname);
  if (hp == NULL) {
    printf("host information not found\n");
    exit(2);
  }
  addr.sin_family = hp->h_addrtype;
  memcpy(&addr.sin_addr.s_addr, hp->h_addr_list[0], hp->h_length);
  plist = (struct pmaplist *) pmap_getmaps(&addr);
  if(plist==NULL)
  {
    fprintf(stderr,"pmap_getmaps() failed");
    exit(1);
  }
return 0;
}