/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 1996-1999, 2003 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
%#pragma ident "%Z%%M% %I% %E% SMI"
const WNL_PORT = 2049;
const WNL_MAXDATA = 8192;
const WNL_MAXNAMLEN = 255;
const WNL_FHSIZE = 32;
/*
* Indicator for native path semantics.
*/
const WNL_NATIVEPATH = 0x80;
/*
* Indicator for security negotiation.
*/
const WNL_SEC_NEGO = 0x81;
/*
* File types
*/
/*
* Error status
*/
enum wnl_stat {
WNL_OK= 0, /* no error */
};
/*
* File types
*/
enum wnl_ftype {
WNL_NON = 0, /* non-file */
};
/*
* File access handle
*/
struct wnl_fh {
};
/*
* Timeval
*/
struct wnl_time {
unsigned seconds;
unsigned useconds;
};
/*
* File attributes
*/
struct wnl_fattr {
unsigned mode; /* protection mode bits */
unsigned nlink; /* # hard links */
unsigned uid; /* owner user id */
unsigned gid; /* owner group id */
unsigned size; /* file size in bytes */
unsigned blocksize; /* prefered block size */
unsigned rdev; /* special device # */
unsigned blocks; /* Kb of disk used by file */
unsigned fsid; /* device # */
unsigned fileid; /* inode # */
};
/*
* Arguments for directory operations
*/
struct wnl_diropargs {
};
struct wnl_diropokres {
};
/*
* Results from directory operation
*/
case WNL_OK:
default:
void;
};
/*
* Version 3 declarations and definitions.
*/
/*
* Sizes
*/
const WNL3_FHSIZE = 64;
/*
* Basic data types
*/
typedef unsigned hyper wnl_uint64;
typedef unsigned int wnl_uint32;
typedef string wnl_filename3<>;
typedef wnl_uint64 wnl_fileid3;
typedef wnl_uint32 wnl_uid3;
typedef wnl_uint32 wnl_gid3;
typedef wnl_uint64 wnl_size3;
typedef wnl_uint32 wnl_mode3;
/*
* Error status
*/
enum wnl_stat3 {
WNL3_OK = 0,
WNL3ERR_PERM = 1,
WNL3ERR_NOENT = 2,
WNL3ERR_IO = 5,
WNL3ERR_NXIO = 6,
WNL3ERR_ACCES = 13,
WNL3ERR_EXIST = 17,
WNL3ERR_XDEV = 18,
WNL3ERR_NODEV = 19,
WNL3ERR_NOTDIR = 20,
WNL3ERR_ISDIR = 21,
WNL3ERR_INVAL = 22,
WNL3ERR_FBIG = 27,
WNL3ERR_NOSPC = 28,
WNL3ERR_ROFS = 30,
WNL3ERR_MLINK = 31,
WNL3ERR_NAMETOOLONG = 63,
WNL3ERR_NOTEMPTY = 66,
WNL3ERR_DQUOT = 69,
WNL3ERR_STALE = 70,
WNL3ERR_REMOTE = 71,
WNL3ERR_BADHANDLE = 10001,
WNL3ERR_NOT_SYNC = 10002,
WNL3ERR_BAD_COOKIE = 10003,
WNL3ERR_NOTSUPP = 10004,
WNL3ERR_TOOSMALL = 10005,
WNL3ERR_SERVERFAULT = 10006,
WNL3ERR_BADTYPE = 10007,
WNL3ERR_JUKEBOX = 10008
};
/*
* File types
*/
enum wnl_ftype3 {
WNL_3REG = 1,
WNL_3DIR = 2,
WNL_3BLK = 3,
WNL_3CHR = 4,
WNL_3LNK = 5,
WNL_3SOCK = 6,
WNL_3FIFO = 7
};
struct wnl_specdata3 {
};
/*
* File access handle
*/
struct wnl_fh3 {
};
/*
* Timeval
*/
struct wnl_time3 {
};
/*
* File attributes
*/
struct wnl_fattr3 {
};
/*
* File attributes
*/
union wnl_post_op_attr switch (bool attributes_follow) {
case TRUE:
case FALSE:
void;
};
union wln_post_op_fh3 switch (bool handle_follows) {
case TRUE:
case FALSE:
void;
};
struct wnl_diropargs3 {
};
/*
* LOOKUP: Lookup wnl_filename
*/
struct WNL_LOOKUP3args {
};
struct WNL_LOOKUP3resok {
};
struct WNL_LOOKUP3resfail {
};
case WNL3_OK:
default:
};
const MAX_FLAVORS = 128;
struct snego_t {
int cnt;
int array[MAX_FLAVORS];
};
enum snego_stat {
/* default flavor invalid and a flavor has been negotiated */
SNEGO_SUCCESS = 0,
/* default flavor valid, no need to negotiate flavors */
SNEGO_DEF_VALID = 1,
/* array size too small */
SNEGO_FAILURE = 3
};
/*
* Remote file service routines
*/
void
WNLPROC_NULL(void) = 0;
} = 2;
void
WNLPROC3_NULL(void) = 0;
} = 3;
void
WNLPROC4_NULL(void) = 0;
} = 4;
} = 100003;