/*
 * Please do not edit this file.
 * It was generated using rpcgen.
 */

#ifndef _NIBIND_PROT_H_RPCGEN
#define _NIBIND_PROT_H_RPCGEN

#include <rpc/rpc.h>


#ifdef __cplusplus
extern "C" {
#endif

/*
 * Output of the RPC protocol compiler: DO NOT EDIT
 * Copyright (C) 1989 by NeXT, Inc.
 */
#ifndef NI_PROG
#include <netinfo/ni_prot.h>
#endif
#define NIBIND_MAXREGS 32

struct nibind_addrinfo {
	u_int udp_port;
	u_int tcp_port;
};
typedef struct nibind_addrinfo nibind_addrinfo;

struct nibind_registration {
	ni_name tag;
	nibind_addrinfo addrs;
};
typedef struct nibind_registration nibind_registration;

struct nibind_getregister_res {
	ni_status status;
	union {
		nibind_addrinfo addrs;
	} nibind_getregister_res_u;
};
typedef struct nibind_getregister_res nibind_getregister_res;

struct nibind_listreg_res {
	ni_status status;
	union {
		struct {
			u_int regs_len;
			nibind_registration *regs_val;
		} regs;
	} nibind_listreg_res_u;
};
typedef struct nibind_listreg_res nibind_listreg_res;

struct nibind_clone_args {
	ni_name tag;
	ni_name master_name;
	u_int master_addr;
	ni_name master_tag;
};
typedef struct nibind_clone_args nibind_clone_args;

struct nibind_bind_args {
	u_int client_addr;
	ni_name client_tag;
	ni_name server_tag;
};
typedef struct nibind_bind_args nibind_bind_args;

#define NIBIND_PROG 200100001
#define NIBIND_VERS 1

#if defined(__STDC__) || defined(__cplusplus)
#define NIBIND_PING 0
extern  void * nibind_ping_1(void *, CLIENT *);
extern  void * nibind_ping_1_svc(void *, struct svc_req *);
#define NIBIND_REGISTER 1
extern  ni_status * nibind_register_1(nibind_registration *, CLIENT *);
extern  ni_status * nibind_register_1_svc(nibind_registration *, struct svc_req *);
#define NIBIND_UNREGISTER 2
extern  ni_status * nibind_unregister_1(ni_name *, CLIENT *);
extern  ni_status * nibind_unregister_1_svc(ni_name *, struct svc_req *);
#define NIBIND_GETREGISTER 3
extern  nibind_getregister_res * nibind_getregister_1(ni_name *, CLIENT *);
extern  nibind_getregister_res * nibind_getregister_1_svc(ni_name *, struct svc_req *);
#define NIBIND_LISTREG 4
extern  nibind_listreg_res * nibind_listreg_1(void *, CLIENT *);
extern  nibind_listreg_res * nibind_listreg_1_svc(void *, struct svc_req *);
#define NIBIND_CREATEMASTER 5
extern  ni_status * nibind_createmaster_1(ni_name *, CLIENT *);
extern  ni_status * nibind_createmaster_1_svc(ni_name *, struct svc_req *);
#define NIBIND_CREATECLONE 6
extern  ni_status * nibind_createclone_1(nibind_clone_args *, CLIENT *);
extern  ni_status * nibind_createclone_1_svc(nibind_clone_args *, struct svc_req *);
#define NIBIND_DESTROYDOMAIN 7
extern  ni_status * nibind_destroydomain_1(ni_name *, CLIENT *);
extern  ni_status * nibind_destroydomain_1_svc(ni_name *, struct svc_req *);
#define NIBIND_BIND 8
extern  void * nibind_bind_1(nibind_bind_args *, CLIENT *);
extern  void * nibind_bind_1_svc(nibind_bind_args *, struct svc_req *);
extern int nibind_prog_1_freeresult (SVCXPRT *, xdrproc_t, caddr_t);

#else /* K&R C */
#define NIBIND_PING 0
extern  void * nibind_ping_1();
extern  void * nibind_ping_1_svc();
#define NIBIND_REGISTER 1
extern  ni_status * nibind_register_1();
extern  ni_status * nibind_register_1_svc();
#define NIBIND_UNREGISTER 2
extern  ni_status * nibind_unregister_1();
extern  ni_status * nibind_unregister_1_svc();
#define NIBIND_GETREGISTER 3
extern  nibind_getregister_res * nibind_getregister_1();
extern  nibind_getregister_res * nibind_getregister_1_svc();
#define NIBIND_LISTREG 4
extern  nibind_listreg_res * nibind_listreg_1();
extern  nibind_listreg_res * nibind_listreg_1_svc();
#define NIBIND_CREATEMASTER 5
extern  ni_status * nibind_createmaster_1();
extern  ni_status * nibind_createmaster_1_svc();
#define NIBIND_CREATECLONE 6
extern  ni_status * nibind_createclone_1();
extern  ni_status * nibind_createclone_1_svc();
#define NIBIND_DESTROYDOMAIN 7
extern  ni_status * nibind_destroydomain_1();
extern  ni_status * nibind_destroydomain_1_svc();
#define NIBIND_BIND 8
extern  void * nibind_bind_1();
extern  void * nibind_bind_1_svc();
extern int nibind_prog_1_freeresult ();
#endif /* K&R C */

/* the xdr functions */

#if defined(__STDC__) || defined(__cplusplus)
extern  bool_t xdr_nibind_addrinfo (XDR *, nibind_addrinfo*);
extern  bool_t xdr_nibind_registration (XDR *, nibind_registration*);
extern  bool_t xdr_nibind_getregister_res (XDR *, nibind_getregister_res*);
extern  bool_t xdr_nibind_listreg_res (XDR *, nibind_listreg_res*);
extern  bool_t xdr_nibind_clone_args (XDR *, nibind_clone_args*);
extern  bool_t xdr_nibind_bind_args (XDR *, nibind_bind_args*);

#else /* K&R C */
extern bool_t xdr_nibind_addrinfo ();
extern bool_t xdr_nibind_registration ();
extern bool_t xdr_nibind_getregister_res ();
extern bool_t xdr_nibind_listreg_res ();
extern bool_t xdr_nibind_clone_args ();
extern bool_t xdr_nibind_bind_args ();

#endif /* K&R C */

#ifdef __cplusplus
}
#endif

#endif /* !_NIBIND_PROT_H_RPCGEN */
