fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * CDDL HEADER START
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 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * See the License for the specific language governing permissions
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * and limitations under the License.
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 * CDDL HEADER END
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Use is subject to license terms.
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 * 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 * Define our interfaces for nsctl because ddict is stupid
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * about intermodule dependencies
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Define our ncall interfaces
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 * General violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Everybody violates these
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Why are they called ddi if it is not part of it?
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * SV module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * The following from vnode.h
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * The fields we use from vattr_t
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * End of SV module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * DSW/II module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * This is really bogus that ddict does not understand sys/inttypes.h
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * End of DSW/II module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * UNISTAT module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * End of UNISTAT module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * NSCTL module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * End of NSCTL module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * NSKERN module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteint vn_open(char *pnamep, void seg, int filemode, int createmode,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte struct vnode **vpp, void crwhy, mode_t umask) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * End of NSKERN module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * NVRAM module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * End of NVRAM module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * RDCSVR (SNDR) module
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Contract PSARC 2001/699
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortevoid SVC_DUP(void xprt, void req, void i, void j, void *dr) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortevoid SVC_DUPDONE(void xprt, void dr, void a, void b, void c) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn ForteSVCXPRT *svc_tli_kcreate(void *f, void *n, void *b, void **x, void *t,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * non-ddi not under contracts
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * End of RDCSRV module Contracts
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * RDC (SNDR) module
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Contract PSARC 2001/699
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * XDR routines
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * The following imported rpc/clnt.h
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/* Client is mostly opaque exccept for the following */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteint clnt_tli_kcreate(void *a, void *b, void c, void d, void e, void f,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte void *g, void **h) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteint clnt_tli_kinit(void *h, void *config, void *addr, uint_t a, int b,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte void *c) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortevoid CLNT_CALL(void, void, void, void, void, void, void) { }
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * The following imported from rpc/svc.h
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * The following imported from sys/file.h
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Not under contract
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * End of RDC module
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * SDBC module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * devid uses internal structure
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/* Page list IO stuff */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * HACK ALERT
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * struct buf hack for ddict.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * SDBC currently violates in struct buf
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#define b_pages b_pad7 /* b_pages in struct buf */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * End of SDBC moduel violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * SCMTEST module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * End of SCMTEST module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * SFTM module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Note: XXX This list is currently incomplete
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * The following from /usr/include/sys/fc4/fcp.h
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * End of SFTM module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * STE module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/* WWN formats from sys/fcal/fcal_linkapp.h */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * STE uses inq_serial and inq_ackqreqq from struct scsi_inquiry
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * End of STE module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * NCALL module violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/* NCALLSRV */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/* NCALLIP */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * End of NCALL violations
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#endif /* _SYS_CONTRACT_H */