ReactOS 0.4.15-dev-7953-g1f49173
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;
83 struct pmap parms;
84
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) !=
101 } else if (port == 0) {
103 }
105 }
106 address->sin_port = 0;
107 return (port);
108}
bool_t xdr_u_short(XDR *xdrs, u_short *usp)
Definition: xdr.c:300
#define RPCSMALLMSGSIZE
Definition: clnt.h:179
#define CLNT_CALL(rh, proc, xargs, argsp, xres, resp, secs)
Definition: clnt.h:199
#define clnt_geterr(rh, errp)
Definition: clnt.h:220
#define CLNT_DESTROY(rh)
Definition: clnt.h:275
CLIENT * clntudp_bufcreate(struct sockaddr_in *, u_long, u_long, struct timeval, int *, u_int, u_int)
#define RPC_PMAPFAILURE
Definition: clnt_stat.h:57
@ RPC_SUCCESS
Definition: clnt_stat.h:22
@ RPC_PROGNOTREGISTERED
Definition: clnt_stat.h:58
#define NULL
Definition: types.h:112
unsigned short u_short
Definition: types.h:81
u_int32_t rpcproc_t
Definition: types.h:106
static const WCHAR version[]
Definition: asmname.c:66
USHORT port
Definition: uri.c:228
#define assert(x)
Definition: debug.h:53
GLuint address
Definition: glext.h:9393
GLuint program
Definition: glext.h:6723
#define htons(x)
Definition: module.h:215
static const struct timeval tottimeout
Definition: pmap_getport.c:44
bool_t xdr_pmap(XDR *xdrs, struct pmap *regs)
Definition: pmap_prot.c:45
#define PMAPPROC_GETPORT
Definition: pmap_prot.h:84
#define PMAPPORT
Definition: pmap_prot.h:76
#define PMAPVERS
Definition: pmap_prot.h:78
#define PMAPPROG
Definition: pmap_prot.h:77
static FILE * client
Definition: client.c:41
Definition: pmap_prot.h:88
struct rpc_err cf_error
Definition: clnt.h:497
enum clnt_stat cf_stat
Definition: clnt.h:496
Definition: tcpcore.h:1455
Definition: dhcpd.h:245
bool_t(* xdrproc_t)(XDR *,...)
Definition: xdr.h:144

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().