diff options
author | Jeff Layton <jlayton@redhat.com> | 2009-08-01 07:20:38 -0400 |
---|---|---|
committer | Steve Dickson <steved@redhat.com> | 2009-08-01 07:20:38 -0400 |
commit | 0d53a1d0ff5635d3af2f0d10e1f00f5de1353490 (patch) | |
tree | f9f5e2cff1e8450224a2ee6755512440c4d05ddf | |
parent | 6f25394cb5651e7e44cc3fc0b2b4b2ccba8c3625 (diff) | |
download | nfs-utils-0d53a1d0ff5635d3af2f0d10e1f00f5de1353490.tar.gz nfs-utils-0d53a1d0ff5635d3af2f0d10e1f00f5de1353490.tar.xz nfs-utils-0d53a1d0ff5635d3af2f0d10e1f00f5de1353490.zip |
nfs-utils: clean up NFSCTL_* macros for handling protocol bits
They are a little hard to follow currently. Clean them up and add new
macros that can set these bits in addition to the ones that unset them.
Also add a new macro that reports when any valid protocol bit is set.
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
-rw-r--r-- | support/include/nfs/nfs.h | 15 | ||||
-rw-r--r-- | utils/nfsd/nfssvc.h | 24 |
2 files changed, 35 insertions, 4 deletions
diff --git a/support/include/nfs/nfs.h b/support/include/nfs/nfs.h index 00b0028..a64eb0a 100644 --- a/support/include/nfs/nfs.h +++ b/support/include/nfs/nfs.h @@ -42,14 +42,21 @@ struct nfs_fh_old { #define NFSCTL_GETFD 7 /* get an fh by path (used by mountd) */ #define NFSCTL_GETFS 8 /* get an fh by path with max size (used by mountd) */ +#define NFSCTL_UDPBIT (1 << (17 - 1)) +#define NFSCTL_TCPBIT (1 << (18 - 1)) + #define NFSCTL_VERUNSET(_cltbits, _v) ((_cltbits) &= ~(1 << ((_v) - 1))) -#define NFSCTL_UDPUNSET(_cltbits) ((_cltbits) &= ~(1 << (17 - 1))) -#define NFSCTL_TCPUNSET(_cltbits) ((_cltbits) &= ~(1 << (18 - 1))) +#define NFSCTL_UDPUNSET(_cltbits) ((_cltbits) &= ~NFSCTL_UDPBIT) +#define NFSCTL_TCPUNSET(_cltbits) ((_cltbits) &= ~NFSCTL_TCPBIT) #define NFSCTL_VERISSET(_cltbits, _v) ((_cltbits) & (1 << ((_v) - 1))) -#define NFSCTL_UDPISSET(_cltbits) ((_cltbits) & (1 << (17 - 1))) -#define NFSCTL_TCPISSET(_cltbits) ((_cltbits) & (1 << (18 - 1))) +#define NFSCTL_UDPISSET(_cltbits) ((_cltbits) & NFSCTL_UDPBIT) +#define NFSCTL_TCPISSET(_cltbits) ((_cltbits) & NFSCTL_TCPBIT) + +#define NFSCTL_UDPSET(_cltbits) ((_cltbits) |= NFSCTL_UDPBIT) +#define NFSCTL_TCPSET(_cltbits) ((_cltbits) |= NFSCTL_TCPBIT) +#define NFSCTL_ANYPROTO(_cltbits) ((_cltbits) & (NFSCTL_UDPBIT | NFSCTL_TCPBIT)) #define NFSCTL_ALLBITS (~0) /* SVC */ diff --git a/utils/nfsd/nfssvc.h b/utils/nfsd/nfssvc.h new file mode 100644 index 0000000..fe522ad --- /dev/null +++ b/utils/nfsd/nfssvc.h @@ -0,0 +1,24 @@ +/* + * utils/nfsd/nfssvc.h -- nfs service control routines for rpc.nfsd + * + * Copyright (C) 2009 Red Hat, Inc <nfs@redhat.com>. + * Copyright (C) 2009 Jeff Layton <jlayton@redhat.com> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +int nfssvc(int port, int nrservs, unsigned int versbits, int minorvers4, + unsigned int portbits, char *haddr); |