Lines Matching full:self

71     def __init__(self, opcode, is_or, is_not, arg1):  argument
73 self.obj_type = opcode.value
74 self._enum = opcode
76 self.obj_type = opcode
77 self._enum = enum_from_int(self.obj_enum_class, self.obj_type)
78 self.is_or = is_or
79 self.is_not = is_not
80 self.arg1 = arg1
81 self.is_action = self.obj_type in insn_actions
82 self.ilen = 1
83 self.obj_list = []
86 def obj_name(self): argument
87 if self._enum is not None:
88 return self._enum.name
90 return "opcode#{}".format(self.obj_type)
130 def __bytes__(self): argument
133 def print_obj(self, prepend=""): argument
135 if self.is_or:
138 if self.is_not:
144 len(bytes(self)),
145 self.obj_name,
146 self.obj_type,
147 self._print_obj_value(),
152 def _print_obj_value(self): argument
155 def print_obj_hex(self, prepend=""): argument
158 print(" ".join(["x{:02X}".format(b) for b in bytes(self)]))
187 def __init__(self, opcode, is_or=False, is_not=False, arg1=0): argument
194 def __bytes__(self): argument
195 length = self.ilen
196 if self.is_or:
198 if self.is_not:
200 insn = IpFwInsn(opcode=self.obj_type, length=length, arg1=enum_or_int(self.arg1))
203 def _print_obj_value(self): argument
204 return " arg1={}".format(self.arg1)
214 self = super()._parse(data)
215 self._data = data
216 return self
218 def __bytes__(self): argument
219 return self._data
221 def _print_obj_value(self): argument
222 return " " + " ".join(["x{:02X}".format(b) for b in self._data])
233 def _print_obj_value(self): argument
238 def __init__(self, opcode=IpFwOpcode.O_NOP, is_or=False, is_not=False, arg1=0, comment=""): argument
241 self.comment = comment
243 self.comment = ""
253 self = super()._parse(data)
261 self.comment = data[4:max_len].decode("utf-8")
262 return self
264 def __bytes__(self): argument
266 comment_bytes = self.comment.encode("utf-8") + b"\0"
272 def _print_obj_value(self): argument
273 return " comment='{}'".format(self.comment)
277 def __init__(self, opcode=IpFwOpcode.O_PROTO, is_or=False, is_not=False, arg1=0): argument
280 def _print_obj_value(self): argument
282 proto = self.arg1
290 def __init__(self, opcode, is_or=False, is_not=False, arg1=0, u32=0): argument
292 self.u32 = u32
293 self.ilen = 2
301 self = super()._parse(data[:4])
302 self.u32 = struct.unpack("@I", data[4:8])[0]
303 return self
305 def __bytes__(self): argument
306 return super().__bytes__() + struct.pack("@I", self.u32)
308 def _print_obj_value(self): argument
309 return " arg1={} u32={}".format(self.arg1, self.u32)
314 self, argument
323 self.prob = prob
326 def prob(self): argument
327 return 1.0 * self.u32 / 0x7FFFFFFF
330 def prob(self, prob: float): argument
331 self.u32 = int(prob * 0x7FFFFFFF)
333 def _print_obj_value(self): argument
334 return " prob={}".format(round(self.prob, 5))
338 def __init__(self, opcode, is_or=False, is_not=False, arg1=0, u32=0, ip=None): argument
341 self.ip = ip
344 def ip(self): argument
345 return socket.inet_ntop(socket.AF_INET, struct.pack("@I", self.u32))
348 def ip(self, ip: str): argument
350 self.u32 = struct.unpack("@I", ip_bin)[0]
352 def _print_opcode_value(self): argument
353 return " ip={}".format(self.ip)
363 self = super()._parse(data)
366 (self.val,) = struct.unpack("@I", data[4:8])
367 self.ilen = 2
369 self.val = None
370 return self
372 def __bytes__(self): argument
374 if getattr(self, "val", None) is not None:
375 ret += struct.pack("@I", self.val)
378 def _print_obj_value(self): argument
379 if getattr(self, "val", None) is not None:
380 return " table={} value={}".format(self.arg1, self.val)
382 return " table={}".format(self.arg1)
386 def __init__(self, opcode, is_or=False, is_not=False, arg1=0, mtu=None): argument
388 self.mtu = mtu
389 if self.mtu is not None:
390 self.ilen = 2
398 self = super()._parse(data)
401 (self.mtu,) = struct.unpack("@I", data[4:8])
402 self.ilen = 2
404 self.mtu = None
405 return self
407 def __bytes__(self): argument
409 if getattr(self, "mtu", None) is not None:
410 ret += struct.pack("@I", self.mtu)
413 def _print_obj_value(self): argument
414 code = enum_from_int(IcmpRejectCode, self.arg1)
415 if getattr(self, "mtu", None) is not None:
416 return " code={} mtu={}".format(code, self.mtu)
422 def __init__(self, opcode, is_or=False, is_not=False, arg1=0, port_pairs=[]): argument
424 self.port_pairs = []
426 self.port_pairs = port_pairs
436 self = super()._parse(data)
444 self.port_pairs = port_pairs
445 return self
447 def __bytes__(self): argument
449 if getattr(self, "val", None) is not None:
450 ret += struct.pack("@I", self.val)
453 def _print_obj_value(self): argument
455 for p in self.port_pairs:
472 def __init__(self, opcode, is_or=False, is_not=False, arg1=0, ip6=None, mask6=None): argument
474 self.ip6 = ip6
475 self.mask6 = mask6
477 self.ilen = 9
479 self.ilen = 5
487 self = super()._parse(data)
488 self.ip6 = socket.inet_ntop(socket.AF_INET6, data[4:20])
491 self.mask6 = socket.inet_ntop(socket.AF_INET6, data[20:36])
492 self.ilen = 9
494 self.mask6 = None
495 self.ilen = 5
496 return self
498 def __bytes__(self): argument
499 ret = super().__bytes__() + socket.inet_pton(socket.AF_INET6, self.ip6)
500 if self.mask6 is not None:
501 ret += socket.inet_pton(socket.AF_INET6, self.mask6)
504 def _print_obj_value(self): argument
505 if self.mask6:
506 return " ip6={}/{}".format(self.ip6, self.mask6)
508 return " ip6={}".format(self.ip6)