1 5184 ek110237 /* 2 5184 ek110237 * CDDL HEADER START 3 5184 ek110237 * 4 5184 ek110237 * The contents of this file are subject to the terms of the 5 5184 ek110237 * Common Development and Distribution License (the "License"). 6 5184 ek110237 * You may not use this file except in compliance with the License. 7 5184 ek110237 * 8 5184 ek110237 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 5184 ek110237 * or http://www.opensolaris.org/os/licensing. 10 5184 ek110237 * See the License for the specific language governing permissions 11 5184 ek110237 * and limitations under the License. 12 5184 ek110237 * 13 5184 ek110237 * When distributing Covered Code, include this CDDL HEADER in each 14 5184 ek110237 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 5184 ek110237 * If applicable, add the following below this CDDL HEADER, with the 16 5184 ek110237 * fields enclosed by brackets "[]" replaced with your own identifying 17 5184 ek110237 * information: Portions Copyright [yyyy] [name of copyright owner] 18 5184 ek110237 * 19 5184 ek110237 * CDDL HEADER END 20 5184 ek110237 */ 21 5184 ek110237 /* 22 9801 Andrew * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 23 5184 ek110237 * Use is subject to license terms. 24 5184 ek110237 */ 25 5184 ek110237 26 5184 ek110237 #ifndef _FB_PARSERTYPES_H 27 5184 ek110237 #define _FB_PARSERTYPES_H 28 5184 ek110237 29 5184 ek110237 #include "config.h" 30 6613 ek110237 31 6613 ek110237 #include "filebench.h" 32 5184 ek110237 #include "vars.h" 33 5184 ek110237 34 5184 ek110237 #ifdef __cplusplus 35 5184 ek110237 extern "C" { 36 5184 ek110237 #endif 37 5184 ek110237 38 5184 ek110237 #ifndef sun 39 5184 ek110237 typedef unsigned char uchar_t; 40 5184 ek110237 #endif 41 5184 ek110237 42 5184 ek110237 #define E_ERROR 1 43 5184 ek110237 #define E_USAGE 2 44 5184 ek110237 #define FS_FALSE 0 45 5184 ek110237 #define FS_TRUE 1 46 5184 ek110237 47 5184 ek110237 #define FSE_SYSTEM 1 48 5184 ek110237 49 5184 ek110237 typedef struct list { 50 6212 aw148015 struct list *list_next; 51 6212 aw148015 avd_t list_string; 52 6212 aw148015 avd_t list_integer; 53 5184 ek110237 } list_t; 54 5184 ek110237 55 5184 ek110237 typedef struct attr { 56 6212 aw148015 int attr_name; 57 5184 ek110237 struct attr *attr_next; 58 6212 aw148015 avd_t attr_avd; 59 5184 ek110237 list_t *attr_param_list; 60 6212 aw148015 void *attr_obj; 61 5184 ek110237 } attr_t; 62 5184 ek110237 63 5184 ek110237 typedef struct cmd { 64 5184 ek110237 void (*cmd)(struct cmd *); 65 5184 ek110237 char *cmd_name; 66 5184 ek110237 char *cmd_tgt1; 67 5184 ek110237 char *cmd_tgt2; 68 5184 ek110237 char *cmd_tgt3; 69 5184 ek110237 char *thread_name; 70 9801 Andrew int cmd_subtype; 71 5184 ek110237 uint64_t cmd_qty; 72 5184 ek110237 struct cmd *cmd_list; 73 5184 ek110237 struct cmd *cmd_next; 74 5184 ek110237 attr_t *cmd_attr_list; 75 5184 ek110237 list_t *cmd_param_list; 76 5184 ek110237 list_t *cmd_param_list2; 77 5184 ek110237 } cmd_t; 78 5184 ek110237 79 5184 ek110237 typedef union { 80 5184 ek110237 int64_t i; 81 5184 ek110237 uchar_t b; 82 5184 ek110237 char *s; 83 5184 ek110237 } fs_u; 84 5184 ek110237 85 5184 ek110237 typedef struct pidlist { 86 5184 ek110237 struct pidlist *pl_next; 87 5184 ek110237 int pl_fd; 88 5184 ek110237 pid_t pl_pid; 89 5184 ek110237 } pidlist_t; 90 5184 ek110237 91 5184 ek110237 typedef void (*cmdfunc)(cmd_t *); 92 5184 ek110237 int yy_switchfileparent(FILE *file); 93 5184 ek110237 int yy_switchfilescript(FILE *file); 94 5184 ek110237 95 5184 ek110237 #ifdef __cplusplus 96 5184 ek110237 } 97 5184 ek110237 #endif 98 5184 ek110237 99 5184 ek110237 #endif /* _FB_PARSERTYPES_H */ 100