ReactOS  0.4.14-dev-55-g2da92ac
pmap_getport.c File Reference
#include <wintirpc.h>
#include <sys/types.h>
#include <assert.h>
#include <rpc/rpc.h>
#include <rpc/pmap_prot.h>
#include <rpc/pmap_clnt.h>
Include dependency graph for pmap_getport.c:

Go to the source code of this file.

Functions

u_short pmap_getport (struct sockaddr_in *address, u_long program, u_long version, u_int protocol)
 

Variables

static const struct timeval timeout = { 5, 0 }
 
static const struct timeval tottimeout = { 60, 0 }
 

Function Documentation

◆ pmap_getport()

u_short pmap_getport ( struct sockaddr_in address,
u_long  program,
u_long  version,
u_int  protocol 
)

Definition at line 74 of file pmap_getport.c.

79 {
80  u_short port = 0;
81  int sock = -1;
82  CLIENT *client;
83  struct pmap parms;
84 
85  assert(address != NULL);
86 
87  address->sin_port = htons(PMAPPORT);
90  if (client != NULL) {
91  parms.pm_prog = program;
92  parms.pm_vers = version;
93  parms.pm_prot = protocol;
94  parms.pm_port = 0; /* not needed or used */
97  &parms, (xdrproc_t)xdr_u_short, &port, tottimeout) !=
98  RPC_SUCCESS){
101  } else if (port == 0) {
103  }
105  }
106  address->sin_port = 0;
107  return (port);
108 }
#define RPC_PMAPFAILURE
Definition: clnt_stat.h:57
u_int32_t rpcproc_t
Definition: types.h:106
#define PMAPPROG
Definition: pmap_prot.h:77
#define clnt_geterr(rh, errp)
Definition: clnt.h:220
bool_t xdr_pmap(XDR *xdrs, struct pmap *regs)
Definition: pmap_prot.c:45
#define assert(x)
Definition: debug.h:53
Definition: dhcpd.h:245
bool_t(* xdrproc_t)(XDR *,...)
Definition: xdr.h:144
#define CLNT_CALL(rh, proc, xargs, argsp, xres, resp, secs)
Definition: clnt.h:199
smooth NULL
Definition: ftsmooth.c:416
static const WCHAR version[]
Definition: asmname.c:64
#define RPCSMALLMSGSIZE
Definition: clnt.h:179
#define PMAPVERS
Definition: pmap_prot.h:78
#define PMAPPROC_GETPORT
Definition: pmap_prot.h:84
#define PMAPPORT
Definition: pmap_prot.h:76
enum clnt_stat cf_stat
Definition: clnt.h:496
static FILE * client
Definition: client.c:41
GLuint address
Definition: glext.h:9393
unsigned short u_short
Definition: types.h:81
bool_t xdr_u_short(XDR *xdrs, u_short *usp)
Definition: xdr.c:300
#define CLNT_DESTROY(rh)
Definition: clnt.h:275
GLuint program
Definition: glext.h:6723
Definition: tcpcore.h:1455
struct rpc_err cf_error
Definition: clnt.h:497
#define htons(x)
Definition: module.h:213
CLIENT * clntudp_bufcreate(struct sockaddr_in *, u_long, u_long, struct timeval, int *, u_int, u_int)
USHORT port
Definition: uri.c:227
static const struct timeval tottimeout
Definition: pmap_getport.c:44
Definition: pmap_prot.h:88

Referenced by getrpcport().

Variable Documentation

◆ timeout

const struct timeval timeout = { 5, 0 }
static

Definition at line 43 of file pmap_getport.c.

◆ tottimeout

const struct timeval tottimeout = { 60, 0 }
static

Definition at line 44 of file pmap_getport.c.

Referenced by pmap_getport(), and rpc_call().