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

#ifndef _RQUOTA_H_RPCGEN
#define _RQUOTA_H_RPCGEN

#include <rpc/rpc.h>


#ifdef __cplusplus
extern "C" {
#endif

#define RQUOTAPATHLEN 1024

enum rquotastat {
	RQUOTA_OK = 1,
	RQUOTA_NOQUOTA = 2,
	RQUOTA_EPERM = 3,
};
typedef enum rquotastat rquotastat;

typedef char *exportpath;

struct GETQUOTA1args {
	exportpath export;
	int uid;
};
typedef struct GETQUOTA1args GETQUOTA1args;

enum quotatype {
	RQUOTA_TYPE_UID = 0,
	RQUOTA_TYPE_GID = 1,
};
typedef enum quotatype quotatype;

struct GETQUOTA2args {
	exportpath export;
	quotatype type;
	int uid;
};
typedef struct GETQUOTA2args GETQUOTA2args;

struct GETQUOTA1res_ok {
	int bsize;
	int active;
	int bhardlimit;
	int bsoftlimit;
	int curblocks;
	int fhardlimit;
	int fsoftlimit;
	int curfiles;
	int btimeleft;
	int ftimeleft;
};
typedef struct GETQUOTA1res_ok GETQUOTA1res_ok;

struct GETQUOTA1res {
	rquotastat status;
	union {
		GETQUOTA1res_ok quota;
	} GETQUOTA1res_u;
};
typedef struct GETQUOTA1res GETQUOTA1res;

#define RQUOTA_PROGRAM 100011
#define RQUOTA_V1 1

#if defined(__STDC__) || defined(__cplusplus)
#define RQUOTA1_NULL 0
extern  void * rquota1_null_1(void *, CLIENT *);
extern  void * rquota1_null_1_svc(void *, struct svc_req *);
#define RQUOTA1_GETQUOTA 1
extern  GETQUOTA1res * rquota1_getquota_1(GETQUOTA1args *, CLIENT *);
extern  GETQUOTA1res * rquota1_getquota_1_svc(GETQUOTA1args *, struct svc_req *);
#define RQUOTA1_GETACTIVEQUOTA 2
extern  GETQUOTA1res * rquota1_getactivequota_1(GETQUOTA1args *, CLIENT *);
extern  GETQUOTA1res * rquota1_getactivequota_1_svc(GETQUOTA1args *, struct svc_req *);
extern int rquota_program_1_freeresult (SVCXPRT *, xdrproc_t, caddr_t);

#else /* K&R C */
#define RQUOTA1_NULL 0
extern  void * rquota1_null_1();
extern  void * rquota1_null_1_svc();
#define RQUOTA1_GETQUOTA 1
extern  GETQUOTA1res * rquota1_getquota_1();
extern  GETQUOTA1res * rquota1_getquota_1_svc();
#define RQUOTA1_GETACTIVEQUOTA 2
extern  GETQUOTA1res * rquota1_getactivequota_1();
extern  GETQUOTA1res * rquota1_getactivequota_1_svc();
extern int rquota_program_1_freeresult ();
#endif /* K&R C */
#define RQUOTA_V2 2

#if defined(__STDC__) || defined(__cplusplus)
#define RQUOTA2_NULL 0
extern  void * rquota2_null_2(void *, CLIENT *);
extern  void * rquota2_null_2_svc(void *, struct svc_req *);
#define RQUOTA2_GETQUOTA 1
extern  GETQUOTA1res * rquota2_getquota_2(GETQUOTA2args *, CLIENT *);
extern  GETQUOTA1res * rquota2_getquota_2_svc(GETQUOTA2args *, struct svc_req *);
#define RQUOTA2_GETACTIVEQUOTA 2
extern  GETQUOTA1res * rquota2_getactivequota_2(GETQUOTA2args *, CLIENT *);
extern  GETQUOTA1res * rquota2_getactivequota_2_svc(GETQUOTA2args *, struct svc_req *);
extern int rquota_program_2_freeresult (SVCXPRT *, xdrproc_t, caddr_t);

#else /* K&R C */
#define RQUOTA2_NULL 0
extern  void * rquota2_null_2();
extern  void * rquota2_null_2_svc();
#define RQUOTA2_GETQUOTA 1
extern  GETQUOTA1res * rquota2_getquota_2();
extern  GETQUOTA1res * rquota2_getquota_2_svc();
#define RQUOTA2_GETACTIVEQUOTA 2
extern  GETQUOTA1res * rquota2_getactivequota_2();
extern  GETQUOTA1res * rquota2_getactivequota_2_svc();
extern int rquota_program_2_freeresult ();
#endif /* K&R C */

/* the xdr functions */

#if defined(__STDC__) || defined(__cplusplus)
extern  bool_t xdr_rquotastat (XDR *, rquotastat*);
extern  bool_t xdr_exportpath (XDR *, exportpath*);
extern  bool_t xdr_GETQUOTA1args (XDR *, GETQUOTA1args*);
extern  bool_t xdr_quotatype (XDR *, quotatype*);
extern  bool_t xdr_GETQUOTA2args (XDR *, GETQUOTA2args*);
extern  bool_t xdr_GETQUOTA1res_ok (XDR *, GETQUOTA1res_ok*);
extern  bool_t xdr_GETQUOTA1res (XDR *, GETQUOTA1res*);

#else /* K&R C */
extern bool_t xdr_rquotastat ();
extern bool_t xdr_exportpath ();
extern bool_t xdr_GETQUOTA1args ();
extern bool_t xdr_quotatype ();
extern bool_t xdr_GETQUOTA2args ();
extern bool_t xdr_GETQUOTA1res_ok ();
extern bool_t xdr_GETQUOTA1res ();

#endif /* K&R C */

#ifdef __cplusplus
}
#endif

#endif /* !_RQUOTA_H_RPCGEN */
