nfssys.h revision 27242a7c712b654e22134a70356231efc69c8202
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (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 2006 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
/* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */
/* All Rights Reserved */
#ifndef _NFS_NFSSYS_H
#define _NFS_NFSSYS_H
#pragma ident "%Z%%M% %I% %E% SMI"
#ifdef __cplusplus
extern "C" {
#endif
/*
* Private definitions for the nfssys system call.
* this file.
*/
/*
* Flavors of nfssys call. Note that OLD_mumble commands are no longer
* implemented, but the entries are kept as placeholders for binary
* compatibility.
*/
struct nfs_svc_args {
int fd; /* Connection endpoint */
char *netid; /* Identify transport */
int versmin; /* Min protocol version to offer */
int versmax; /* Max protocol version to offer */
int delegation; /* NFSv4 delegation on/off? */
};
#ifdef _SYSCALL32
struct nfs_svc_args32 {
};
#endif
struct exportfs_args {
char *dname;
struct exportdata *uex;
};
#ifdef _SYSCALL32
struct exportfs_args32 {
};
#endif
struct nfs_getfh_args {
char *fname;
int vers;
int *lenp;
char *fhp;
};
#ifdef _SYSCALL32
struct nfs_getfh_args32 {
};
#endif
struct nfs_revauth_args {
int authtype;
};
#ifdef _SYSCALL32
struct nfs_revauth_args32 {
};
#endif
/*
* Arguments for establishing lock manager service. If you change
* lm_svc_args, you should increment the version number. Try to keep
* supporting one or more old versions of the args, so that old lockd's
* will work with new kernels.
*/
struct lm_svc_args {
int version; /* keep this first */
int fd;
int debug; /* debugging level */
int grace; /* secs in grace period */
};
#ifdef _SYSCALL32
struct lm_svc_args32 {
};
#endif
/*
* Arguments for nfslog flush service.
*/
struct nfsl_flush_args {
int version;
int directive;
int buff_len; /* includes terminating '\0' */
};
#ifdef _SYSCALL32
struct nfsl_flush_args32 {
};
#endif
/*
* Arguments for initialising RDMA service.
*/
struct rdma_svc_args {
char *netid; /* Network Identifier */
int nfs_versmin; /* Min NFS version to offer */
int nfs_versmax; /* Max NFS version to offer */
int delegation; /* NFSv4 delegation on/off? */
};
#ifdef _SYSCALL32
struct rdma_svc_args32 {
};
#endif
#define NFS4_CLRST_VERSION 1
struct nfs4clrst_args {
int vers;
int addr_type;
void *ap;
};
#ifdef _SYSCALL32
struct nfs4clrst_args32 {
};
#endif
struct nfsidmap_args {
};
#ifdef _KERNEL
union nfssysargs {
/* kill_lockmgr args: none */
};
struct nfssysa {
};
#ifdef _SYSCALL32
union nfssysargs32 {
/* kill_lockmgr args: none */
};
struct nfssysa32 {
};
#endif /* _SYSCALL32 */
#endif /* _KERNEL */
struct nfs4_svc_args {
int fd; /* Connection endpoint */
int cmd;
char *netid; /* Transport Identifier */
char *addr; /* Universal Address */
char *protofmly; /* Protocol Family */
char *proto; /* Protocol, eg. "tcp" */
};
#ifdef _SYSCALL32
struct nfs4_svc_args32 {
};
#endif
#define NFS4_KRPC_START 1
#define NFS4_SETPORT 2
#define NFS4_DQUERY 4
#ifdef _KERNEL
extern int lm_shutdown(void);
extern int rdma_start(struct rdma_svc_args *);
extern void rfs4_clear_client_state(struct nfs4clrst_args *);
extern void nfs_idmap_args(struct nfsidmap_args *);
#endif
#ifdef __cplusplus
}
#endif
#endif /* _NFS_NFSSYS_H */