1/* 2 * Copyright (c) 1990, 1991, 1992, 1993, 1994, 1995, 1996 3 * The Regents of the University of California. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that: (1) source code distributions 7 * retain the above copyright notice and this paragraph in its entirety, (2) 8 * distributions including binary code include the above copyright notice and --- 226 unchanged lines hidden (view full) --- 235 struct edge *next; /* link list of incoming edges for a node */ 236}; 237 238struct block { 239 int id; 240 struct slist *stmts; /* side effect stmts */ 241 struct stmt s; /* branch stmt */ 242 int mark; |
243 u_int longjt; /* jt branch requires long jump */ 244 u_int longjf; /* jf branch requires long jump */ |
245 int level; 246 int offset; 247 int sense; 248 struct edge et; 249 struct edge ef; 250 struct block *head; 251 struct block *link; /* link field used by optimizer */ 252 uset dom; --- 72 unchanged lines hidden (view full) --- 325 326void bpf_optimize(struct block **); 327void bpf_error(const char *, ...) 328 __attribute__((noreturn, format (printf, 1, 2))); 329 330void finish_parse(struct block *); 331char *sdup(const char *); 332 |
333struct bpf_insn *icode_to_fcode(struct block *, u_int *); |
334int pcap_parse(void); 335void lex_init(const char *); 336void lex_cleanup(void); 337void sappend(struct slist *, struct slist *); 338 339/* XXX */ 340#define JT(b) ((b)->et.succ) 341#define JF(b) ((b)->ef.succ) 342 343extern int no_optimize; |