xref: /minix3/external/bsd/tcpdump/dist/nfsfh.h (revision b636d99d91c3d54204248f643c14627405d4afd1)
1*b636d99dSDavid van Moolenbroek /*
2*b636d99dSDavid van Moolenbroek  * Copyright (c) 1993, 1994 Jeffrey C. Mogul, Digital Equipment Corporation,
3*b636d99dSDavid van Moolenbroek  * Western Research Laboratory. All rights reserved.
4*b636d99dSDavid van Moolenbroek  * Copyright (c) 2001 Compaq Computer Corporation. All rights reserved.
5*b636d99dSDavid van Moolenbroek  *
6*b636d99dSDavid van Moolenbroek  *  Permission to use, copy, and modify this software and its
7*b636d99dSDavid van Moolenbroek  *  documentation is hereby granted only under the following terms and
8*b636d99dSDavid van Moolenbroek  *  conditions.  Both the above copyright notice and this permission
9*b636d99dSDavid van Moolenbroek  *  notice must appear in all copies of the software, derivative works
10*b636d99dSDavid van Moolenbroek  *  or modified versions, and any portions thereof, and both notices
11*b636d99dSDavid van Moolenbroek  *  must appear in supporting documentation.
12*b636d99dSDavid van Moolenbroek  *
13*b636d99dSDavid van Moolenbroek  *  Redistribution and use in source and binary forms, with or without
14*b636d99dSDavid van Moolenbroek  *  modification, are permitted provided that the following conditions
15*b636d99dSDavid van Moolenbroek  *  are met:
16*b636d99dSDavid van Moolenbroek  *    1. Redistributions of source code must retain the above copyright
17*b636d99dSDavid van Moolenbroek  *    notice, this list of conditions and the following disclaimer.
18*b636d99dSDavid van Moolenbroek  *    2. Redistributions in binary form must reproduce the above copyright
19*b636d99dSDavid van Moolenbroek  *    notice, this list of conditions and the following disclaimer in
20*b636d99dSDavid van Moolenbroek  *    the documentation and/or other materials provided with the
21*b636d99dSDavid van Moolenbroek  *    distribution.
22*b636d99dSDavid van Moolenbroek  *
23*b636d99dSDavid van Moolenbroek  *  THE SOFTWARE IS PROVIDED "AS IS" AND COMPAQ COMPUTER CORPORATION
24*b636d99dSDavid van Moolenbroek  *  DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
25*b636d99dSDavid van Moolenbroek  *  ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.   IN NO
26*b636d99dSDavid van Moolenbroek  *  EVENT SHALL COMPAQ COMPUTER CORPORATION BE LIABLE FOR ANY
27*b636d99dSDavid van Moolenbroek  *  SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
28*b636d99dSDavid van Moolenbroek  *  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
29*b636d99dSDavid van Moolenbroek  *  AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
30*b636d99dSDavid van Moolenbroek  *  OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
31*b636d99dSDavid van Moolenbroek  *  SOFTWARE.
32*b636d99dSDavid van Moolenbroek  */
33*b636d99dSDavid van Moolenbroek 
34*b636d99dSDavid van Moolenbroek /*
35*b636d99dSDavid van Moolenbroek  * nfsfh.h - NFS file handle definitions (for portable use)
36*b636d99dSDavid van Moolenbroek  *
37*b636d99dSDavid van Moolenbroek  * Jeffrey C. Mogul
38*b636d99dSDavid van Moolenbroek  * Digital Equipment Corporation
39*b636d99dSDavid van Moolenbroek  * Western Research Laboratory
40*b636d99dSDavid van Moolenbroek  */
41*b636d99dSDavid van Moolenbroek 
42*b636d99dSDavid van Moolenbroek /*
43*b636d99dSDavid van Moolenbroek  * Internal representation of dev_t, because different NFS servers
44*b636d99dSDavid van Moolenbroek  * that we might be spying upon use different external representations.
45*b636d99dSDavid van Moolenbroek  */
46*b636d99dSDavid van Moolenbroek typedef struct {
47*b636d99dSDavid van Moolenbroek 	uint32_t Minor;	/* upper case to avoid clashing with macro names */
48*b636d99dSDavid van Moolenbroek 	uint32_t Major;
49*b636d99dSDavid van Moolenbroek } my_devt;
50*b636d99dSDavid van Moolenbroek 
51*b636d99dSDavid van Moolenbroek #define	dev_eq(a,b)	((a.Minor == b.Minor) && (a.Major == b.Major))
52*b636d99dSDavid van Moolenbroek 
53*b636d99dSDavid van Moolenbroek /*
54*b636d99dSDavid van Moolenbroek  * Many file servers now use a large file system ID.  This is
55*b636d99dSDavid van Moolenbroek  * our internal representation of that.
56*b636d99dSDavid van Moolenbroek  */
57*b636d99dSDavid van Moolenbroek typedef	struct {
58*b636d99dSDavid van Moolenbroek 	my_devt	Fsid_dev;		/* XXX avoid name conflict with AIX */
59*b636d99dSDavid van Moolenbroek 	char Opaque_Handle[2 * 32 + 1];
60*b636d99dSDavid van Moolenbroek 	uint32_t fsid_code;
61*b636d99dSDavid van Moolenbroek } my_fsid;
62*b636d99dSDavid van Moolenbroek 
63*b636d99dSDavid van Moolenbroek #define	fsid_eq(a,b)	((a.fsid_code == b.fsid_code) &&\
64*b636d99dSDavid van Moolenbroek 			 dev_eq(a.Fsid_dev, b.Fsid_dev))
65*b636d99dSDavid van Moolenbroek 
66*b636d99dSDavid van Moolenbroek extern void Parse_fh(const unsigned char *, int, my_fsid *, uint32_t *, const char **, const char **, int);
67