fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * CDDL HEADER START
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte *
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * The contents of this file are subject to the terms of the
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Common Development and Distribution License (the "License").
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * You may not use this file except in compliance with the License.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte *
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * or http://www.opensolaris.org/os/licensing.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * See the License for the specific language governing permissions
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * and limitations under the License.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte *
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * When distributing Covered Code, include this CDDL HEADER in each
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * If applicable, add the following below this CDDL HEADER, with the
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * fields enclosed by brackets "[]" replaced with your own identifying
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * information: Portions Copyright [yyyy] [name of copyright owner]
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte *
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * CDDL HEADER END
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Use is subject to license terms.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * The sole purpose of this file is to document our violations of the DDI
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * in Solaris and to get ddict to run on the data services stack.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Definitions and declarations contained in this file are never compiled
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * into the code. It is only included if we are running ddict on our src.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte *
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * IMPORTANT NOTE:
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Many of the declarations are not correct. It does not matter.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Structure declarations only define the fields we require.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Structures which we use in an opaque manner are defined as void *
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#ifndef _SYS_CONTRACT_H
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define _SYS_CONTRACT_H
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#ifdef __cplusplus
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteextern "C" {
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#endif
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Define our interfaces for nsctl because ddict is stupid
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * about intermodule dependencies
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#include <sys/nsctl/nsctl_inter.h>
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Define our ncall interfaces
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#include <sys/nsctl/ncall_inter.h>
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * The STRUCT_DECL definitions in the ddict headers are fouled up
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * we include our own model.h here to redefine it to avoid errors.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#if !defined(_SunOS_5_6)
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#include <sys/nsctl/model.h>
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#endif
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * General violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Everybody violates these
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Why are they called ddi if it is not part of it?
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define DDI_PROP_NOTPROM 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteint ddi_rele_driver(void) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteint ddi_hold_installed_driver(void) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * SV module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortevoid *curthread;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteint devcnt;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * The following from vnode.h
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef struct vode {
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte int v_lock; /* SDBC uses this too */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte int v_type; /* nskern too */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte int v_rdev; /* nskern too */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte} vnode_t;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define FOLLOW 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define NULLVPP NULL
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define AT_RDEV 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define VOP_GETATTR(vp, vap, f, cr) ((void)0)
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define VN_RELE(vp) ((void)0)
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * The fields we use from vattr_t
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef struct vattr {
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte uint_t va_mask;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte dev_t va_rdev;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte int va_size; /* nskern */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte} vattr_t;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteint lookupname(void, void, void, void, void) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * End of SV module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * DSW/II module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * This is really bogus that ddict does not understand sys/inttypes.h
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define INT32_MIN 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define INT32_MAX 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define INT64_MAX 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * End of DSW/II module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * UNISTAT module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortevoid mod_miscops;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef enum { B_FALSE, B_TRUE } boolean_t;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * End of UNISTAT module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * NSCTL module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define ERESTART 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define EUSERS 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define ENAMETOOLONG 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define ENOSYS 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define FOPEN 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteint ddi_name_to_major() { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * End of NSCTL module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * NSKERN module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define UL_GETFSIZE 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define USHRT_MAX 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef u_longlong_t rlim64_t;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteint ulimit() { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteint maxphys;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define AT_SIZE 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define VBLK 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define VCHR 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define VREG 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define VLNK 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define VOP_CLOSE(vp, f, c, o, cr) ((void)0)
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define VOP_RWLOCK(vp, w) ((void)0)
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define VOP_RWUNLOCK(vp, w) ((void)0)
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define VOP_READ(vp, uiop, iof, cr) ((void)0)
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define VOP_WRITE(vp, uiop, iof, cr) ((void)0)
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteint vn_open(char *pnamep, void seg, int filemode, int createmode,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte struct vnode **vpp, void crwhy, mode_t umask) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * End of NSKERN module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * NVRAM module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define MMU_PAGESIZE 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#ifndef MAXNAMELEN
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define MAXNAMELEN 1
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#endif
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define DEVMAP_DEFAULTS 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define PFN_INVALID -1
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortechar hw_serial[1];
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteint mmu_ptob(void arg) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteint roundup(void arg) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * End of NVRAM module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * RDCSVR (SNDR) module
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Contract PSARC 2001/699
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define DUP_DONE 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define DUP_ERROR 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define DUP_INPROGRESS 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define DUP_NEW 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define DUP_DROP 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define RPC_MAXDATASIZE 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef void * file_t; /* opaque */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef void SVCXPRT; /* opaque */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef void SVCMASTERXPRT; /* opaque */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef void xdrproc_t; /* opaque */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef int enum_t;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef struct svc_req { /* required fields */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte int rq_vers;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte int rq_proc;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte} svc_req_t;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortevoid SVC_FREEARGS(void xprt, void a, void *b) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortevoid SVC_DUP(void xprt, void req, void i, void j, void *dr) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortevoid svcerr_systemerr(void xprt) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortevoid svcerr_noproc(void xprt) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortevoid SVC_DUPDONE(void xprt, void dr, void a, void b, void c) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn ForteSVCXPRT *svc_tli_kcreate(void *f, void *n, void *b, void **x, void *t,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte uint_t c, uint_t d) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * non-ddi not under contracts
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortestruct netbuf {
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte int maxlen;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte int len;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte char *buf;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte}
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * End of RDCSRV module Contracts
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * RDC (SNDR) module
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Contract PSARC 2001/699
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef u_longlong_t rpcproc_t;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef u_longlong_t xdrproc_t;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef u_longlong_t rpcvers_t;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define __dontcare__ -1
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define RPC_INTR 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define RPC_SUCCESS 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define RPC_TLIERROR 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define RPC_XPRTFAILED 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define RPC_VERSMISMATCH 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define RPC_PROGVERSMISMATCH 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define RPC_INPROGRESS 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define ENOEXEC 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define EBADF 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * XDR routines
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * from rpc/xdr.h
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef void * XDR; /* opaque */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteint xdr_void() { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteint xdr_int() { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteint xdr_union() { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteint xdr_enum() { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteint xdr_u_int() { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteint xdr_u_longlong_t() { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteint xdr_opaque() { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteint xdr_bytes() { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteint xdr_array() { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define NULL_xdrproc_t ((xdrproc_t)0)
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * The following imported rpc/clnt.h
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/* Client is mostly opaque exccept for the following */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef struct __client { /* required fields */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte void *cl_auth;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte bool_t cl_nosignal;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte} CLIENT;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define CLSET_PROGRESS 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define KNC_STRSIZE 128
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortestruct knetconfig {
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte unsigned int knc_semantics;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte caddr_t knc_protofmly;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte caddr_t knc_proto;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte dev_t knc_rdev;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte};
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortevoid *clnt_sperrno() { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortevoid IS_UNRECOVERABLE_RPC(a) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortevoid CLNT_CONTROL(cl, request, info) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortevoid AUTH_DESTROY(void *a) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortevoid CLNT_DESTROY(void *a) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteint clnt_tli_kcreate(void *a, void *b, void c, void d, void e, void f,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte void *g, void **h) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteint clnt_tli_kinit(void *h, void *config, void *addr, uint_t a, int b,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte void *c) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortevoid CLNT_CALL(void, void, void, void, void, void, void) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * The following imported from rpc/svc.h
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortevoid svc_sendreply() { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortevoid svcerr_decode() { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortevoid SVC_GETARGS() { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * The following imported from sys/file.h
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortevoid getf(void) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortevoid releasef(void) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Not under contract
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortevoid sigintr(void) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortevoid sigunintr(void) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortedev_t expldev() { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * End of RDC module
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * SDBC module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * devid uses internal structure
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * from sys/ddi_impldefs.h
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef struct impl_devid {
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte uchar_t did_type_hi;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte uchar_t did_type_lo;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte} impl_devid_t;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define DEVID_GETTYPE(devid) 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define DEVID_SCSI_SERIAL 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define ENOLINK 0 /* NCALL too */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define E2BIG 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define ENOENT 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define EIDRM 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define B_KERNBUF 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define KSTAT_TYPE_RAW 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define MAXPATHLEN 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define VN_HOLD(bp) ((void)0)
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/* Page list IO stuff */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef struct page {
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte int v_count; /* sdbc */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte} page_t;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortepage_t kvp; /* We use the kernel segment */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteint page_add(void) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteint page_find(void) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteint page_list_concat(void) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteint pageio_setup(void) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteint pageio_done(void) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortevoid kobj_getsymvalue(void) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteint ddi_dev_pathname(void) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * HACK ALERT
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * struct buf hack for ddict.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * SDBC currently violates in struct buf
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * b_pages
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * b_proc
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * which we will define as the pad fields for ddict since
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * we can not overload the definition of struct buf with our own stuff.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define b_pages b_pad7 /* b_pages in struct buf */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define b_proc b_pad8 /* b_proc in struct buf */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define b_forw b_pad1 /* b_forw in struct buf */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define b_back b_pad2 /* b_back in struct buf */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * End of SDBC moduel violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * SCMTEST module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define ESRCH 0 /* NCALL too */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * End of SCMTEST module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * SFTM module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Note: XXX This list is currently incomplete
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef void * cqe_t; /* opaque */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef void * fcal_packet_t; /* opaque */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef void * soc_response_t; /* opaque */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef void * la_els_logi_t; /* opaque */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef void * la_els_adisc_t; /* opaque */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef void * fcp_rsp_t; /* opaque */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef void * soc_request_t; /* opaque */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef void * els_payload_t; /* opaque */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef void * la_els_logo_t; /* opaque */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef void * fc_frame_header_t; /* opaque */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef struct la_els_prli_s {
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte uchar_t ls_code;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte uchar_t page_length;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ushort_t payload_length;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte uchar_t service_params[1];
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte} la_els_prli_t;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef la_els_prli_t la_els_prli_reply_t;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef la_els_prli_t la_els_prlo_t;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef la_els_prli_t la_els_prlo_reply_t;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * The following from /usr/include/sys/fc4/fcp.h
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef struct fcp_cntl {
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte uchar_t cntl_reserved_1 : 5,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte cntl_qtype : 3;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte uchar_t cntl_kill_tsk : 1,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte cntl_clr_aca : 1,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte cntl_reset : 1,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte cntl_reserved_2 : 2,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte cntl_clr_tsk : 1,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte cntl_abort_tsk : 1,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte cntl_reserved_3 : 1;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte uchar_t cntl_reserved_4 : 6,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte cntl_read_data : 1,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte cntl_write_data : 1;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte} fcp_cntl_t;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef struct fcp_ent_addr {
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ushort_t ent_addr_0;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ushort_t ent_addr_1;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ushort_t ent_addr_2;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ushort_t ent_addr_3;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte} fcp_ent_addr_t;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef struct fcp_cmd_s {
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte fcp_ent_addr_t fcp_ent_addr;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte fcp_cntl_t fcp_cntl;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte uchar_t fcp_cdb[1];
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte int fcp_data_len;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte} fcp_cmd_t;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef struct fcal_transport {
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte uchar_t dummy1;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte uchar_t dummy2;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte} fcal_transport_t;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * End of SFTM module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * STE module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef void la_wwn_t; /* opaque */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/* WWN formats from sys/fcal/fcal_linkapp.h */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef union la_wwn {
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte uchar_t raw_wwn[8];
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte struct {
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte uint_t naa_id : 4;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte uint_t nport_id : 12;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte uint_t wwn_hi : 16;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte uint_t wwn_lo;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte } w;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte} la_wwn_t;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteinsque(void) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteremque(void) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortesnprintf(void) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * STE uses inq_serial and inq_ackqreqq from struct scsi_inquiry
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define inq_serial inq_pid
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define inq_ackqreqq inq_pid
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * End of STE module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * NCALL module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define ENONET 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/* NCALLSRV */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef int bool_t;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/* NCALLIP */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#ifndef TRUE
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define TRUE 1
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#endif
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#ifndef FALSE
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define FALSE 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#endif
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define ERANGE 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define ENODATA 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define RPC_TIMEDOUT 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * End of NCALL violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#ifdef __cplusplus
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte}
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#endif
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#endif /* _SYS_CONTRACT_H */