1 0 stevel /* 2 0 stevel * CDDL HEADER START 3 0 stevel * 4 0 stevel * The contents of this file are subject to the terms of the 5 0 stevel * Common Development and Distribution License, Version 1.0 only 6 0 stevel * (the "License"). You may not use this file except in compliance 7 0 stevel * with the License. 8 0 stevel * 9 0 stevel * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10 0 stevel * or http://www.opensolaris.org/os/licensing. 11 0 stevel * See the License for the specific language governing permissions 12 0 stevel * and limitations under the License. 13 0 stevel * 14 0 stevel * When distributing Covered Code, include this CDDL HEADER in each 15 0 stevel * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16 0 stevel * If applicable, add the following below this CDDL HEADER, with the 17 0 stevel * fields enclosed by brackets "[]" replaced with your own identifying 18 0 stevel * information: Portions Copyright [yyyy] [name of copyright owner] 19 0 stevel * 20 0 stevel * CDDL HEADER END 21 0 stevel */ 22 0 stevel /* 23 0 stevel * Copyright (c) 1993 by Sun Microsystems, Inc. 24 0 stevel */ 25 0 stevel 26 0 stevel #ifndef _FW_H 27 0 stevel #define _FW_H 28 0 stevel 29 0 stevel #pragma ident "%Z%%M% %I% %E% SMI" 30 0 stevel 31 0 stevel #include <rpc/rpc.h> 32 0 stevel #include "fakewin.h" 33 0 stevel 34 0 stevel #ifdef __cplusplus 35 0 stevel extern "C" { 36 0 stevel #endif 37 0 stevel 38 0 stevel /* 39 0 stevel * Header file for the framework. 40 0 stevel */ 41 0 stevel #define CTXTLEN 1024 42 0 stevel 43 0 stevel struct Op_arg_item { 44 0 stevel char _TKFAR *name; 45 0 stevel char _TKFAR *value; 46 0 stevel struct Op_arg_item _TKFAR *next; 47 0 stevel }; 48 0 stevel typedef struct Op_arg_item Op_arg_item; 49 0 stevel 50 0 stevel struct Op_row_link { 51 0 stevel Op_arg_item _TKFAR *first; 52 0 stevel Op_arg_item _TKFAR *last; 53 0 stevel struct Op_row_link _TKFAR *next; 54 0 stevel }; 55 0 stevel typedef struct Op_row_link Op_row_link; 56 0 stevel 57 0 stevel struct Op_arg { 58 0 stevel Op_row_link _TKFAR *first; 59 0 stevel Op_row_link _TKFAR *last; 60 0 stevel Op_row_link _TKFAR *curr; 61 0 stevel Op_arg_item _TKFAR *cura; 62 0 stevel u_long rows; 63 0 stevel bool_t xdr_flag; 64 0 stevel }; 65 0 stevel typedef struct Op_arg Op_arg; 66 0 stevel 67 0 stevel enum Fw_err { 68 0 stevel FW_ERR_NONE = 0, 69 0 stevel FW_ERR_FW = 1, 70 0 stevel FW_ERR_OP = 2 71 0 stevel }; 72 0 stevel typedef enum Fw_err Fw_err; 73 0 stevel 74 0 stevel struct Op_err { 75 0 stevel Fw_err type; 76 0 stevel u_long code; 77 0 stevel bool_t xdr_flag; 78 0 stevel char _TKFAR *message; 79 0 stevel }; 80 0 stevel typedef struct Op_err Op_err; 81 0 stevel 82 0 stevel typedef char invk_context[CTXTLEN]; 83 0 stevel 84 0 stevel struct invk_result { 85 0 stevel Op_err _TKFAR *err; 86 0 stevel Op_arg _TKFAR *arg; 87 0 stevel bool_t eof; 88 0 stevel }; 89 0 stevel typedef struct invk_result invk_result; 90 0 stevel 91 0 stevel struct invk_request { 92 0 stevel char _TKFAR *category; 93 0 stevel char _TKFAR *op; 94 0 stevel char _TKFAR *vers; 95 0 stevel char _TKFAR *locale; 96 0 stevel u_long threshold; 97 0 stevel invk_context context; 98 0 stevel Op_arg _TKFAR *arg; 99 0 stevel }; 100 0 stevel typedef struct invk_request invk_request; 101 0 stevel 102 0 stevel struct more_request { 103 0 stevel invk_context context; 104 0 stevel u_long threshold; 105 0 stevel }; 106 0 stevel typedef struct more_request more_request; 107 0 stevel 108 0 stevel struct kill_request { 109 0 stevel invk_context context; 110 0 stevel }; 111 0 stevel typedef struct kill_request kill_request; 112 0 stevel 113 0 stevel #define FW_KV_DELIM "=" 114 0 stevel #define FW_KV_DELIM_CH '=' 115 0 stevel #define FW_VK_DELIM "\n" 116 0 stevel #define FW_VK_DELIM_CH '\n'; 117 0 stevel #define FW_INPUT_VERS_VAL 1 118 0 stevel #define FW_INPUT_VERS_STR "1" 119 0 stevel #define FW_OUTPUT_VERS_VAL 1 120 0 stevel #define FW_OUTPUT_VERS_STR "1" 121 0 stevel #define FW_INPUT_VERS_KEY "_SUNW_AO_INPUT_VERS" 122 0 stevel #define FW_OUTPUT_VERS_KEY "_SUNW_AO_OUTPUT_VERS" 123 0 stevel #define FW_ROW_MARKER_KEY "_SUNW_AO_BEGIN_ROW" 124 0 stevel #define FW_ROW_MARKER FW_ROW_MARKER_KEY FW_KV_DELIM FW_OUTPUT_VERS_STR \ 125 0 stevel FW_VK_DELIM 126 0 stevel #define FW_INPUT_VERS FW_INPUT_VERS_KEY FW_KV_DELIM FW_INPUT_VERS_STR \ 127 0 stevel FW_VK_DELIM 128 0 stevel #define FW_OUTPUT_VERS FW_OUTPUT_VERS_KEY FW_KV_DELIM FW_OUTPUT_VERS_STR \ 129 0 stevel FW_VK_DELIM 130 0 stevel #define FW_ERR_MSG_MAX 2047 131 0 stevel #define FW_UNIX_USER "UU" 132 0 stevel 133 0 stevel #define FW_SUCCESS 0 134 0 stevel #define FW_ERROR -1 135 0 stevel #define FW_TIMEOUT -2 136 0 stevel 137 0 stevel #define SN_LOCALE_PATH_VAR "_SN_LOCALE_PATH" 138 0 stevel #define SN_UNAME_VAR "_SN_UNAME" 139 0 stevel #define SN_UID_VAR "_SN_UID" 140 0 stevel 141 0 stevel #include "fw_lib.h" 142 0 stevel 143 0 stevel #ifdef __cplusplus 144 0 stevel } 145 0 stevel #endif 146 0 stevel 147 0 stevel #endif /* !_FW_H */ 148