1 /*
   2  * CDDL HEADER START
   3  *
   4  * The contents of this file are subject to the terms of the
   5  * Common Development and Distribution License, Version 1.0 only
   6  * (the "License").  You may not use this file except in compliance
   7  * with the License.
   8  *
   9  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  10  * or http://www.opensolaris.org/os/licensing.
  11  * See the License for the specific language governing permissions
  12  * and limitations under the License.
  13  *
  14  * When distributing Covered Code, include this CDDL HEADER in each
  15  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  16  * If applicable, add the following below this CDDL HEADER, with the
  17  * fields enclosed by brackets "[]" replaced with your own identifying
  18  * information: Portions Copyright [yyyy] [name of copyright owner]
  19  *
  20  * CDDL HEADER END
  21  */
  22 /*
  23  * Copyright (c) 1999,2001 by Sun Microsystems, Inc.
  24  * All rights reserved.
  25  */
  26 
  27 #ifndef _CIS_PROTOS_H
  28 #define _CIS_PROTOS_H
  29 
  30 #pragma ident   "%Z%%M% %I%     %E% SMI"
  31 
  32 #ifdef  __cplusplus
  33 extern "C" {
  34 #endif
  35 
  36 /*
  37  * This file contains all of the function prototypes for functions
  38  *      used by the CIS interpreter.
  39  *
  40  * Prototypes for general functions
  41  */
  42 uint32_t        cis_list_create(cistpl_callout_t *, cs_socket_t *);
  43 uint32_t        cis_list_destroy(cs_socket_t *);
  44 uint32_t        cis_list_lcreate(cistpl_callout_t *, cisptr_t *,
  45                         cis_info_t *, cisparse_t *, cs_socket_t *);
  46 uint32_t        cis_list_ldestroy(cistpl_t **);
  47 cistpl_t        *cis_get_ltuple(cistpl_t *, cisdata_t, uint32_t);
  48 uint32_t        cistpl_devspeed(cistpl_t *, cisdata_t, uint32_t);
  49 uint32_t        cistpl_expd_parse(cistpl_t *, uint32_t *);
  50 uint32_t        cis_convert_devspeed(convert_speed_t *);
  51 uint32_t        cis_convert_devsize(convert_size_t *);
  52 uint32_t        cis_validate_longlink_acm(cisptr_t *);
  53 
  54 /*
  55  * Prototypes for the tuple handlers
  56  */
  57 uint32_t        cis_tuple_handler(cistpl_callout_t *, cistpl_t *, uint32_t,
  58                                         void *, cisdata_t);
  59 uint32_t        cis_no_tuple_handler(cistpl_callout_t *, cistpl_t *,
  60                                         uint32_t, void *);
  61 uint32_t        cis_unknown_tuple_handler(cistpl_callout_t *, cistpl_t *,
  62                                         uint32_t, void *);
  63 uint32_t        cistpl_vers_1_handler(cistpl_callout_t *, cistpl_t *,
  64                                         uint32_t, void *);
  65 uint32_t        cistpl_config_handler(cistpl_callout_t *, cistpl_t *,
  66                                         uint32_t, void *);
  67 uint32_t        cistpl_device_handler(cistpl_callout_t *, cistpl_t *,
  68                                         uint32_t, void *);
  69 uint32_t        cistpl_cftable_handler(cistpl_callout_t *, cistpl_t *,
  70                                         uint32_t, void *);
  71 uint32_t        cistpl_jedec_handler(cistpl_callout_t *, cistpl_t *,
  72                                         uint32_t, void *);
  73 uint32_t        cistpl_vers_2_handler(cistpl_callout_t *, cistpl_t *,
  74                                         uint32_t, void *);
  75 uint32_t        cistpl_format_handler(cistpl_callout_t *, cistpl_t *,
  76                                         uint32_t, void *);
  77 uint32_t        cistpl_geometry_handler(cistpl_callout_t *, cistpl_t *,
  78                                         uint32_t, void *);
  79 uint32_t        cistpl_byteorder_handler(cistpl_callout_t *,
  80                                         cistpl_t *, uint32_t, void *);
  81 uint32_t        cistpl_date_handler(cistpl_callout_t *, cistpl_t *,
  82                                         uint32_t, void *);
  83 uint32_t        cistpl_battery_handler(cistpl_callout_t *, cistpl_t *,
  84                                         uint32_t, void *);
  85 uint32_t        cistpl_org_handler(cistpl_callout_t *, cistpl_t *,
  86                                         uint32_t, void *);
  87 uint32_t        cistpl_funcid_handler(cistpl_callout_t *, cistpl_t *,
  88                                         uint32_t, void *);
  89 uint32_t        cistpl_funce_serial_handler(cistpl_callout_t *, cistpl_t *,
  90                                         uint32_t, void *);
  91 uint32_t        cistpl_funce_lan_handler(cistpl_callout_t *,
  92                                         cistpl_t *, uint32_t, void *);
  93 uint32_t        cistpl_manfid_handler(cistpl_callout_t *, cistpl_t *,
  94                                         uint32_t, void *);
  95 uint32_t        cistpl_linktarget_handler(cistpl_callout_t *,
  96                                         cistpl_t *, uint32_t, void *);
  97 uint32_t        cistpl_longlink_ac_handler(cistpl_callout_t *,
  98                                         cistpl_t *, uint32_t, void *);
  99 uint32_t        cistpl_longlink_mfc_handler(cistpl_callout_t *,
 100                                         cistpl_t *, uint32_t, void *);
 101 
 102 char    *cis_getstr(cistpl_t *);
 103 
 104 #ifdef  _KERNEL
 105 caddr_t cis_malloc(size_t);
 106 void    cis_free(caddr_t);
 107 #endif  /* _KERNEL */
 108 
 109 #ifdef  __cplusplus
 110 }
 111 #endif
 112 
 113 #endif  /* _CIS_PROTOS_H */