|
i |
|
This is the original set of definitions, reformatted as ONC's IDL,
with a small amount of information loss.
/*
* DO NOT EDIT THIS FILE (nfsv4.xdr)
*
* It has been AutoGen-ed Saturday August 12, 2006 at 11:32:10 AM PDT
* From the definitions nfsv4.def
* and the template file autoxdr.tpl
*
* This file has been generated by the AutoXDR AutoGen template suite.
*
* These files are compatible with:
* RFC1831 - Remote Procedure Call Protocol Specification Version 2
* RFC1832 - External Data Representation Standard
* and are intended to be used as a layer on top of the ONC IDL
* in conjunction with RPCGEN.
*
*/
#if defined( RPC_HDR )
%#ifndef AUTOXDR_NFS_XDR_HEADER /* no self-exclusion for OSR5's rpcgen */
%#define AUTOXDR_NFS_XDR_HEADER
%
%/*
% * Some poor, old implementations require proper ordering and knowing
% * which ones you need. Do this just for them. Yuck! What pain!!
% */
%#include <sys/types.h>
%#include <rpc/types.h>
%#include <rpc/xdr.h>
%
%#ifndef MAX_AUTH_BYTES /* no self-exclusion for OSR5 */
%# include <rpc/auth.h>
%#endif
%#include <rpc/clnt.h>
%
%#include <sys/socket.h>
%#include <rpc/svc.h>
#endif
enum nfs4_status {
NFS4_STATUS_OK = 0,
NFS4_STATUS_PERM = 1,
NFS4_STATUS_NOENT = 2,
NFS4_STATUS_OMITTED = 256
};
enum nfs4_compound_ops {
NFS4_ACCESS4 = 3
};
/*
* Basic typedefs for RFC 1832 data type definitions
*/
#if defined( RPC_HDR )
%#ifdef NEED_INT32_T
typedef int int32_t;
%#endif
%#ifdef NEED_UINT32_T
typedef unsigned int uint32_t;
%#endif
%#ifdef NEED_INT64_T
typedef hyper int64_t;
%#endif
%#ifdef NEED_UINT64_T
typedef hyper uint64_t;
%#endif
#else
typedef int int32_t;
typedef unsigned int uint32_t;
typedef hyper int64_t;
typedef hyper uint64_t;
#endif
/*
* Sizes
*/
const NFS4_FHSIZE = 128;
/*
* Basic data types
*/
typedef uint32_t bitmap4<>;
typedef char data<>;
typedef uint64_t offset4;
typedef uint32_t count4;
typedef uint64_t length4;
typedef uint64_t clientid4;
typedef uint64_t stateid4;
typedef uint32_t seqid4;
typedef opaque utf8string<>;
typedef utf8string component4;
typedef component4 pathname4<>;
typedef uint64_t nfs_lockid4;
typedef uint64_t nfs_cookie4;
typedef utf8string linktext4;
typedef opaque sec_oid4<>;
typedef uint32_t qop4;
typedef uint32_t mode4;
typedef uint64_t changeid4;
/*
* ACCESS: Check access permission
*/
const ACCESS4_READ = 0x00000001;
const ACCESS4_LOOKUP = 0x00000002;
const ACCESS4_MODIFY = 0x00000004;
const ACCESS4_EXTEND = 0x00000008;
const ACCESS4_DELETE = 0x00000010;
const ACCESS4_EXECUTE = 0x00000020;
struct ACCESS4resok {
uint32_t supported;
uint32_t access;
};
union ACCESS4res switch (nfs4_status status) {
case NFS4_STATUS_OK:
ACCESS4resok resok4;
default:
void;
};
/*
* NULL procedure results struct
*/
struct nfs4_null_res {
nfs4_status status;
};
struct ACCESS4args {
uint32_t requested; /* in */
};
/*
* Union of arguments to COMPOUND operations
*/
union u_nfs4_compound_args switch (nfs4_compound_ops argop) {
case NFS4_ACCESS4:
ACCESS4args op_access4;
};
/*
* COMPOUND procedure arguments struct
*/
struct nfs4_compound_args {
utf8string tag_in; /* in */
uint32_t minorversion; /* in */
u_nfs4_compound_args argarray<>;
};
/*
* Union of results of COMPOUND operations
*/
union u_nfs4_compound_res switch (nfs4_compound_ops resop) {
case NFS4_ACCESS4:
ACCESS4res op_access4;
};
/*
* COMPOUND procedure results struct
*/
struct nfs4_compound_res {
nfs4_status status;
utf8string tag_out; /* out */
u_nfs4_compound_res resarray<>;
};
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Define the nfs program
*/
program NFS_PROG {
version NFS4_V4 {
void NFS4_NULL( void ) = 0;
nfs4_compound_res NFS4_COMPOUND( nfs4_compound_args ) = 1;
} = 4;
} = 100003;
#if defined( RPC_HDR )
%#endif /* AUTOXDR_NFS_XDR_HEADER */
#endif
|