#include <linux/nfsd/syscall.h> long nfsservctl(int cmd, struct nfsctl_arg *argp, union nfsctl_res *resp);
/*
* nfsctl() によって理解されるコマンド
*/
#define NFSCTL_SVC 0 /* サーバープロセス */
#define NFSCTL_ADDCLIENT 1 /* NFS クライアントを追加 */
#define NFSCTL_DELCLIENT 2 /* NFS クライアンドを削除 */
#define NFSCTL_EXPORT 3 /* ファイルシステムのエクスポート */
#define NFSCTL_UNEXPORT 4 /* ファイルシステムのアンエクスポート */
#define NFSCTL_UGIDUPDATE 5 /* クライアントの UID/GID マップの更新
(Linux 2.4.x とそれ以前のみ) */
#define NFSCTL_GETFH 6 /* (mountd で使用される) ファイルハンドルの
取得 (Linux 2.4.x とそれ以前のみ) */
struct nfsctl_arg {
int ca_version; /* safeguard */
union {
struct nfsctl_svc u_svc;
struct nfsctl_client u_client;
struct nfsctl_export u_export;
struct nfsctl_uidmap u_umap;
struct nfsctl_fhparm u_getfh;
unsigned int u_debug;
} u;
}
union nfsctl_res {
struct knfs_fh cr_getfh;
unsigned int cr_debug;
};