Lines Matching defs:fr

69 void printc(fr)
70 frentry_t *fr;
78 if (fr->fr_v != 4)
80 if ((fr->fr_type != FR_T_IPF) && (fr->fr_type != FR_T_NONE))
82 if ((fr->fr_type == FR_T_IPF) &&
83 ((fr->fr_datype != FRI_NORMAL) || (fr->fr_satype != FRI_NORMAL)))
85 ipf = fr->fr_ipf;
134 addrule(fp, fr);
135 fr->fr_type |= FR_T_BUILTIN;
137 fr->fr_ref = 1;
138 i = sizeof(*fr);
141 for (i /= sizeof(u_long), ulp = (u_long *)fr; i > 0; i--) {
146 fr->fr_type &= ~FR_T_BUILTIN;
157 static void addrule(fp, fr)
159 frentry_t *fr;
172 bcopy((char *)fr, (char *)f, sizeof(*fr));
173 if (fr->fr_ipf) {
179 bcopy((char *)fr->fr_ipf, (char *)f->fr_ipf,
180 sizeof(*fr->fr_ipf));
207 if (fr->fr_dsize > 0) {
213 i = fr->fr_dsize;
214 ulp = fr->fr_data;
301 void emit(num, dir, v, fr)
304 frentry_t *fr;
317 emitGroup(num, dir, v, fr, g->fg_name, incnt, 0);
325 emitGroup(num, dir, v, fr, g->fg_name, 0, outcnt);
445 static void emitGroup(num, dir, v, fr, group, incount, outcount)
448 frentry_t *fr;
474 fprintf(fp, "\treturn fr;\n}\n");
495 fprintf(fp, "\treturn fr;\n}\n");
559 ipf = fr->fr_ipf;
573 fprintf(fp, "\tfrentry_t *fr = NULL;\n");
596 if (*fr->fr_ifname)
623 fr->fr_tcpfm != 0)
629 if (fr->fr_scmp == FR_INRANGE)
631 else if (fr->fr_scmp == FR_OUTRANGE)
633 else if (fr->fr_scmp != 0)
639 if (fr->fr_dcmp == FR_INRANGE)
641 else if (fr->fr_dcmp == FR_OUTRANGE)
643 else if (fr->fr_dcmp != 0)
649 if (fr->fr_satype == FRI_LOOKUP) {
651 } else if ((fr->fr_smask != 0) ||
652 (fr->fr_flags & FR_NOTSRCIP) != 0)
658 if (fr->fr_datype == FRI_LOOKUP) {
660 } else if ((fr->fr_dmask != 0) ||
661 (fr->fr_flags & FR_NOTDSTIP) != 0)
667 if (fr->fr_optmask != 0)
673 if (fr->fr_secmask != 0)
679 if (fr->fr_authmask != 0)
685 if ((fr->fr_icmpm & 0xff00) != 0)
691 if ((fr->fr_icmpm & 0xff) != 0)
803 printeq(fp, "fin->fin_tcpf", fr->fr_tcpfm,
804 0xff, fr->fr_tcpf);
811 if (fr->fr_scmp == FR_INRANGE) {
814 fr->fr_sport);
816 fr->fr_stop);
819 } else if (fr->fr_scmp == FR_OUTRANGE) {
822 fr->fr_sport);
824 fr->fr_stop);
827 } else if (fr->fr_scmp) {
830 portcmp[fr->fr_scmp], fr->fr_sport);
838 if (fr->fr_dcmp == FR_INRANGE) {
841 fr->fr_dport);
843 fr->fr_dtop);
846 } else if (fr->fr_dcmp == FR_OUTRANGE) {
849 fr->fr_dport);
851 fr->fr_dtop);
854 } else if (fr->fr_dcmp) {
857 portcmp[fr->fr_dcmp], fr->fr_dport);
865 if (fr->fr_satype == FRI_LOOKUP) {
867 } else if ((fr->fr_smask != 0) ||
868 (fr->fr_flags & FR_NOTSRCIP) != 0) {
872 fr->fr_flags & FR_NOTSRCIP,
873 fr->fr_smask, fr->fr_saddr);
880 if (fr->fr_datype == FRI_LOOKUP) {
882 } else if ((fr->fr_dmask != 0) ||
883 (fr->fr_flags & FR_NOTDSTIP) != 0) {
887 fr->fr_flags & FR_NOTDSTIP,
888 fr->fr_dmask, fr->fr_daddr);
897 fr->fr_optmask, 0xffffffff,
898 fr->fr_optbits);
907 fr->fr_secmask, 0xffff,
908 fr->fr_secbits);
917 fr->fr_authmask, 0xffff,
918 fr->fr_authbits);
927 fr->fr_icmpm & 0xff00, 0xffff,
928 fr->fr_icmp & 0xff00);
937 fr->fr_icmpm & 0xff, 0xffff,
938 fr->fr_icmp & 0xff);
947 if (fr->fr_flags & FR_QUICK) {
949 fr->fr_flags & FR_INQUE ? "in" : "out",
950 fr->fr_group, num);
952 fprintf(fp, "fr = (frentry_t *)&%s_rule_%s_%d;\n",
953 fr->fr_flags & FR_INQUE ? "in" : "out",
954 fr->fr_group, num);
1002 frentry_t *fr, *fr1;
1040 for (fr = fr1->fr_next; fr; fr = fr->fr_next) {
1041 if (!dir && !(fr->fr_flags & FR_INQUE))
1043 if (dir && !(fr->fr_flags & FR_OUTQUE))
1047 !strcmp(fr1->fr_ifname, fr->fr_ifname)) {
1053 if ((n & 0x0002) && (fr1->fr_v == fr->fr_v)) {
1060 (fr->fr_type == fr1->fr_type) &&
1061 (fr->fr_type == FR_T_IPF) &&
1062 (fr1->fr_mip.fi_flx == fr->fr_mip.fi_flx) &&
1063 (fr1->fr_ip.fi_flx == fr->fr_ip.fi_flx)) {
1070 (fr->fr_type == fr1->fr_type) &&
1071 (fr->fr_type == FR_T_IPF) &&
1072 (fr1->fr_proto == fr->fr_proto)) {
1079 (fr->fr_type == fr1->fr_type) &&
1080 (fr->fr_type == FR_T_IPF) &&
1081 (fr1->fr_ttl == fr->fr_ttl)) {
1088 (fr->fr_type == fr1->fr_type) &&
1089 (fr->fr_type == FR_T_IPF) &&
1090 (fr1->fr_tos == fr->fr_tos)) {
1097 (fr->fr_type == fr1->fr_type) &&
1098 (fr->fr_type == FR_T_IPF) &&
1099 ((fr1->fr_tcpfm == fr->fr_tcpfm) &&
1100 (fr1->fr_tcpf == fr->fr_tcpf))) {
1107 (fr->fr_type == fr1->fr_type) &&
1108 (fr->fr_type == FR_T_IPF) &&
1109 ((fr1->fr_scmp == fr->fr_scmp) &&
1110 (fr1->fr_stop == fr->fr_stop) &&
1111 (fr1->fr_sport == fr->fr_sport))) {
1118 (fr->fr_type == fr1->fr_type) &&
1119 (fr->fr_type == FR_T_IPF) &&
1120 ((fr1->fr_dcmp == fr->fr_dcmp) &&
1121 (fr1->fr_dtop == fr->fr_dtop) &&
1122 (fr1->fr_dport == fr->fr_dport))) {
1129 (fr->fr_type == fr1->fr_type) &&
1130 (fr->fr_type == FR_T_IPF) &&
1132 (fr->fr_satype == FRI_LOOKUP) &&
1133 (fr1->fr_srcnum == fr->fr_srcnum))) {
1137 (fr->fr_type == fr1->fr_type) &&
1138 (fr->fr_type == FR_T_IPF) &&
1140 (fr->fr_flags & FR_NOTSRCIP)))) {
1141 if ((fr1->fr_smask == fr->fr_smask) &&
1142 (fr1->fr_saddr == fr->fr_saddr))
1148 (fr->fr_saddr & fr1->fr_smask)) {
1157 (fr->fr_type == fr1->fr_type) &&
1158 (fr->fr_type == FR_T_IPF) &&
1160 (fr->fr_datype == FRI_LOOKUP) &&
1161 (fr1->fr_dstnum == fr->fr_dstnum))) {
1165 (fr->fr_type == fr1->fr_type) &&
1166 (fr->fr_type == FR_T_IPF) &&
1168 (fr->fr_flags & FR_NOTDSTIP)))) {
1169 if ((fr1->fr_dmask == fr->fr_dmask) &&
1170 (fr1->fr_daddr == fr->fr_daddr))
1176 (fr->fr_daddr & fr1->fr_dmask)) {
1185 (fr->fr_type == fr1->fr_type) &&
1186 (fr->fr_type == FR_T_IPF) &&
1187 (fr1->fr_optmask == fr->fr_optmask) &&
1188 (fr1->fr_optbits == fr->fr_optbits)) {
1195 (fr->fr_type == fr1->fr_type) &&
1196 (fr->fr_type == FR_T_IPF) &&
1197 (fr1->fr_secmask == fr->fr_secmask) &&
1198 (fr1->fr_secbits == fr->fr_secbits)) {
1205 (fr->fr_type == fr1->fr_type) &&
1206 (fr->fr_type == FR_T_IPF) &&
1207 (fr1->fr_authmask == fr->fr_authmask) &&
1208 (fr1->fr_authbits == fr->fr_authbits)) {
1215 (fr->fr_type == fr1->fr_type) &&
1216 (fr->fr_type == FR_T_IPF) &&
1218 (fr->fr_icmpm & 0xff00)) &&
1220 (fr->fr_icmp & 0xff00))) {
1227 (fr->fr_type == fr1->fr_type) &&
1228 (fr->fr_type == FR_T_IPF) &&
1229 ((fr1->fr_icmpm & 0xff) == (fr->fr_icmpm & 0xff)) &&
1230 ((fr1->fr_icmp & 0xff) == (fr->fr_icmp & 0xff))) {
1251 frentry_t *fr;
1288 for (i = 0, fr = grp->fg_start; fr != NULL; i++, fr = fr->fr_next)
1289 if (fr->fr_dsize > 0) {