Main
AutoGen
Pages
Home
Announce
FAQ
docs
XML Defs
testimonials
downloads
Automated
Options
AutoOpts
Comparison
Man example
Redistribute
Licensing
local use
using getopt
GCC's
Fixincludes
fixincludes
Automated
FSM
description
example
usagefsm
Addons
addon
Automated
XDR
xdr project
definitions
XDR
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 March 1, 2010 at 02:26:41 PM by AutoGen 5.10.1
* 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
top Viewable With Any Browser Valid XHTML 1.0!