Lines Matching defs:ist

141 #define	ADDR(place)	((void *)(((char *)(ist->itm_hdr)) +\
143 #define ADDR2(place2) ((void *)(((char *)(ist->itm_hdr)) +\
149 #define REG(n) (*(ist->regs + (n)))
171 icv_state_t *ist;
189 if (NULL == (ist = malloc(sizeof (icv_state_t)))) {
196 ist->itm = itm_ref;
197 ist->itm_hdr = ist->itm->hdr;
198 ist->reg_num = ist->itm->hdr->reg_num;
200 hdr = ist->itm->hdr;
201 ist->direc = ADDR(hdr->direc_init_tbl);
202 ist->default_action.itm_64d = 0;
204 ist->op_depth = 0;
212 _icv_close(ist);
220 ist->regs = NULL;
222 ist->regs = malloc((sizeof (itm_num_t)) * hdr->reg_num);
223 if (NULL == ist->regs) {
225 _icv_close(ist);
229 (void) memset(ist->regs, 0,
235 if (0 != ist->itm_hdr->op_init_tbl.itm_ptr) {
240 (void) eval_op_tbl(ist, ist->itm_hdr->op_init_tbl, &ip,
243 op_init_default(ist);
246 return (ist);
254 _icv_close(icv_state_t *ist)
256 if (NULL == ist) {
260 itm_ref_dec(ist->itm);
261 free(ist->regs);
262 free(ist);
271 icv_state_t *ist,
284 if (NULL == ist) {
298 hdr = ist->itm_hdr;
314 ist->direc = ADDR(hdr->direc_init_tbl);
315 retval = eval_op_tbl(ist, hdr->op_reset_tbl, inbuf,
321 op_reset_default(ist);
326 if (ITM_TBL_MAP_INDEX_FIXED_1_1 == ist->direc->type) {
334 map_hdr = (itm_map_idx_fix_hdr_t *)(ist->direc + 1);
338 retval = map_i_f(ist->direc, inbuf, inbytesleft,
363 } else if (ITM_TBL_MAP_INDEX_FIXED == ist->direc->type) {
364 retval = map_i_f(ist->direc, inbuf, inbytesleft,
367 } else if (ITM_TBL_MAP_HASH == ist->direc->type) {
368 retval = map_h_l(ist->direc, inbuf, inbytesleft,
371 } else if (ITM_TBL_MAP_DENSE_ENC == ist->direc->type) {
372 retval = map_d_e_l(ist->direc, inbuf, inbytesleft,
375 } else if (ITM_TBL_MAP_LOOKUP == ist->direc->type) {
376 retval = map_l_f(ist->direc, inbuf, inbytesleft,
382 ist->op_depth = 0;
395 direc_hdr = ist->direc;
396 direc = (itm_direc_t *)(ist->direc + 1);
399 if (0 == ist->default_action.itm_ptr) {
408 action = ist->default_action;
415 retval = eval_cond_tbl(ist, direc->condition,
436 retval = eval_op_tbl(ist, action,
443 ist->direc = ADDR(action);
927 icv_state_t *ist,
994 * change ist->default_action and return 2.
1000 if (NULL == ist->default_action.itm_ptr) {
1001 ist->default_action = direc->action;
1028 ist->default_action = direc->action;
1039 retval = eval_expr(ist, cond->operand.place,
1065 icv_state_t *ist,
1081 if (OP_DEPTH_MAX <= ist->op_depth) {
1086 ist->op_depth += 1;
1096 retval = eval_op(ist, op_place, inbuf, inbytesleft,
1100 ist->op_depth -= 1;
1115 ist->op_depth -= 1;
1127 icv_state_t *ist,
1157 eval_expr(ist, operation->data.operand[(n)], \
1166 num = eval_expr(ist, operation->data.operand[0],
1171 num = eval_expr(ist, operation->data.operand[0],
1189 c = eval_expr(ist, operation->data.operand[0],
1249 num = eval_expr(ist, operation->data.operand[0],
1275 c = eval_expr(ist, operation->data.operand[0],
1279 retval = eval_op_tbl(ist, operation->data.operand[1],
1284 c = eval_expr(ist, operation->data.operand[0],
1288 retval = eval_op_tbl(ist, operation->data.operand[1],
1291 retval = eval_op_tbl(ist, operation->data.operand[2],
1298 ist->direc = ADDR(operation->data.operand[0]);
1308 i = eval_expr(ist, operation->data.operand[1],
1360 retval = eval_op_tbl(ist, operation->data.operand[0],
1366 ist->itm_hdr->op_init_tbl));
1367 if (0 != ist->itm_hdr->op_init_tbl.itm_ptr) {
1368 retval = eval_op_tbl(ist, ist->itm_hdr->op_init_tbl,
1371 op_init_default(ist);
1377 ist->itm_hdr->op_reset_tbl));
1378 if (0 != ist->itm_hdr->op_reset_tbl.itm_ptr) {
1379 retval = eval_op_tbl(ist, ist->itm_hdr->op_reset_tbl,
1382 op_reset_default(ist);
1393 c = eval_expr(ist, operation->data.operand[0], *inbytesleft,
1400 c = eval_expr(ist, operation->data.operand[0], *inbytesleft,
1407 c = eval_expr(ist, operation->data.operand[0], *inbytesleft,
1429 icv_state_t *ist,
1444 #define EVAL_EXPR_E(n) (eval_expr(ist, expr->data.operand[(n)], \
1465 eval_expr(ist, expr->data.operand[(n)], \
1692 if (expr->data.operand[0].itm_ptr < ist->itm_hdr->reg_num) {
1693 return (*(ist->regs + expr->data.operand[0].itm_ptr)
1836 op_init_default(icv_state_t *ist)
1838 ist->direc = ADDR(ist->itm_hdr->direc_init_tbl);
1839 regs_init(ist);
1844 op_reset_default(icv_state_t *ist)
1846 ist->direc = ADDR(ist->itm_hdr->direc_init_tbl);
1847 regs_init(ist);
1852 regs_init(icv_state_t *ist)
1854 if (0 < ist->itm_hdr->reg_num) {
1855 (void) memset(ist->regs, 0,
1856 (sizeof (itm_num_t)) * ist->itm_hdr->reg_num);