153f17a9db278d33517d9888dd77848f554522a38JP Abgrall/* @(#) $Header: /tcpdump/master/tcpdump/nfsfh.h,v 1.13 2002-04-24 06:27:05 guy Exp $ (LBL) */ 22949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 32949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project/* 42949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * Copyright (c) 1993, 1994 Jeffrey C. Mogul, Digital Equipment Corporation, 52949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * Western Research Laboratory. All rights reserved. 62949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * Copyright (c) 2001 Compaq Computer Corporation. All rights reserved. 72949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * 82949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * Permission to use, copy, and modify this software and its 92949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * documentation is hereby granted only under the following terms and 102949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * conditions. Both the above copyright notice and this permission 112949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * notice must appear in all copies of the software, derivative works 122949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * or modified versions, and any portions thereof, and both notices 132949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * must appear in supporting documentation. 142949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * 152949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * Redistribution and use in source and binary forms, with or without 162949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * modification, are permitted provided that the following conditions 172949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * are met: 182949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * 1. Redistributions of source code must retain the above copyright 192949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * notice, this list of conditions and the following disclaimer. 202949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * 2. Redistributions in binary form must reproduce the above copyright 212949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * notice, this list of conditions and the following disclaimer in 222949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * the documentation and/or other materials provided with the 232949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * distribution. 242949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * 252949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * THE SOFTWARE IS PROVIDED "AS IS" AND COMPAQ COMPUTER CORPORATION 262949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 272949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO 282949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * EVENT SHALL COMPAQ COMPUTER CORPORATION BE LIABLE FOR ANY 292949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 302949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN 312949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING 322949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 332949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * SOFTWARE. 342949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project */ 352949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 362949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project/* 372949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * nfsfh.h - NFS file handle definitions (for portable use) 382949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * 392949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * Jeffrey C. Mogul 402949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * Digital Equipment Corporation 412949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * Western Research Laboratory 422949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project */ 432949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 442949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project/* 452949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * Internal representation of dev_t, because different NFS servers 462949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * that we might be spying upon use different external representations. 472949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project */ 482949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projecttypedef struct { 492949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int32_t Minor; /* upper case to avoid clashing with macro names */ 502949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int32_t Major; 512949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} my_devt; 522949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 532949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define dev_eq(a,b) ((a.Minor == b.Minor) && (a.Major == b.Major)) 542949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 552949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project/* 562949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * Many file servers now use a large file system ID. This is 572949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * our internal representation of that. 582949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project */ 592949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projecttypedef struct { 602949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project my_devt Fsid_dev; /* XXX avoid name conflict with AIX */ 612949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project char Opaque_Handle[2 * 32 + 1]; 622949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project u_int32_t fsid_code; 632949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project} my_fsid; 642949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 652949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define fsid_eq(a,b) ((a.fsid_code == b.fsid_code) &&\ 662949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project dev_eq(a.Fsid_dev, b.Fsid_dev)) 672949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 6853f17a9db278d33517d9888dd77848f554522a38JP Abgrallextern void Parse_fh(const unsigned char *, int, my_fsid *, u_int32_t *, const char **, const char **, int); 69