1d9ad96c1Srg /* 2d9ad96c1Srg * CDDL HEADER START 3d9ad96c1Srg * 4d9ad96c1Srg * The contents of this file are subject to the terms of the 527242a7cSthurlow * Common Development and Distribution License (the "License"). 627242a7cSthurlow * You may not use this file except in compliance with the License. 7d9ad96c1Srg * 8d9ad96c1Srg * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9d9ad96c1Srg * or http://www.opensolaris.org/os/licensing. 10d9ad96c1Srg * See the License for the specific language governing permissions 11d9ad96c1Srg * and limitations under the License. 12d9ad96c1Srg * 13d9ad96c1Srg * When distributing Covered Code, include this CDDL HEADER in each 14d9ad96c1Srg * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15d9ad96c1Srg * If applicable, add the following below this CDDL HEADER, with the 16d9ad96c1Srg * fields enclosed by brackets "[]" replaced with your own identifying 17d9ad96c1Srg * information: Portions Copyright [yyyy] [name of copyright owner] 18d9ad96c1Srg * 19d9ad96c1Srg * CDDL HEADER END 20d9ad96c1Srg */ 21d9ad96c1Srg 225cb0d679SMarcel Telka /* 2322146ea9SMarcel Telka * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 2422146ea9SMarcel Telka * Use is subject to license terms. 255cb0d679SMarcel Telka */ 26*f7877f5dSDan McDonald /* 27*f7877f5dSDan McDonald * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 28*f7877f5dSDan McDonald */ 29d9ad96c1Srg 30d9ad96c1Srg /* 31d9ad96c1Srg * Copyright (c) 1983,1984,1985,1986,1987,1988,1989 AT&T. 32d9ad96c1Srg * All rights reserved. 33d9ad96c1Srg * Use is subject to license terms. 34d9ad96c1Srg */ 35d9ad96c1Srg 36d9ad96c1Srg 37d9ad96c1Srg #ifndef _NFS_DISPATCH_H 38d9ad96c1Srg #define _NFS_DISPATCH_H 39d9ad96c1Srg 40d9ad96c1Srg #ifdef __cplusplus 41d9ad96c1Srg extern "C" { 42d9ad96c1Srg #endif 43d9ad96c1Srg 44d9ad96c1Srg /* 45d9ad96c1Srg * RPC dispatch table 46d9ad96c1Srg * Indexed by version, proc 47d9ad96c1Srg */ 48d9ad96c1Srg 4927242a7cSthurlow typedef struct rpcdisp { 50d9ad96c1Srg void (*dis_proc)(); /* proc to call */ 51d9ad96c1Srg xdrproc_t dis_xdrargs; /* xdr routine to get args */ 52d9ad96c1Srg xdrproc_t dis_fastxdrargs; /* `fast' xdr routine to get args */ 53d9ad96c1Srg int dis_argsz; /* sizeof args */ 54d9ad96c1Srg xdrproc_t dis_xdrres; /* xdr routine to put results */ 55d9ad96c1Srg xdrproc_t dis_fastxdrres; /* `fast' xdr routine to put results */ 56d9ad96c1Srg int dis_ressz; /* size of results */ 57d9ad96c1Srg void (*dis_resfree)(); /* frees space allocated by proc */ 58d9ad96c1Srg int dis_flags; /* flags, see below */ 5927242a7cSthurlow void *(*dis_getfh)(); /* returns the fhandle for the req */ 6027242a7cSthurlow } rpcdisp_t; 61d9ad96c1Srg 62d9ad96c1Srg #define RPC_IDEMPOTENT 0x1 /* idempotent or not */ 63d9ad96c1Srg /* 64d9ad96c1Srg * Be very careful about which NFS procedures get the RPC_ALLOWANON bit. 655cb0d679SMarcel Telka * Right now, if this bit is on, we ignore the results of per NFS request 66d9ad96c1Srg * access control. 67d9ad96c1Srg */ 68d9ad96c1Srg #define RPC_ALLOWANON 0x2 /* allow anonymous access */ 69d9ad96c1Srg #define RPC_MAPRESP 0x4 /* use mapped response buffer */ 70d9ad96c1Srg #define RPC_AVOIDWORK 0x8 /* do work avoidance for dups */ 71d9ad96c1Srg #define RPC_PUBLICFH_OK 0x10 /* allow use of public filehandle */ 72d9ad96c1Srg 7327242a7cSthurlow typedef struct rpc_disptable { 74d9ad96c1Srg int dis_nprocs; 75d9ad96c1Srg char **dis_procnames; 76d9ad96c1Srg struct rpcdisp *dis_table; 7727242a7cSthurlow } rpc_disptable_t; 78d9ad96c1Srg 795cb0d679SMarcel Telka void rpc_null(caddr_t *, caddr_t *, struct exportinfo *, struct svc_req *, 805cb0d679SMarcel Telka cred_t *, bool_t); 81d9ad96c1Srg 82d9ad96c1Srg #ifdef __cplusplus 83d9ad96c1Srg } 84d9ad96c1Srg #endif 85d9ad96c1Srg 86d9ad96c1Srg #endif /* _NFS_DISPATCH_H */ 87