Hex Artifact Content

Artifact b64003e320fc582d39c8fe66b98175bc3d6b4578:


0000: 23 21 20 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20  #! /usr/bin/env 
0010: 74 63 6c 73 68 0a 0a 70 75 74 73 20 5b 65 78 65  tclsh..puts [exe
0020: 63 20 2e 2f 62 75 69 6c 64 2d 64 79 6e 2e 73 68  c ./build-dyn.sh
0030: 5d 0a 0a 6c 6f 61 64 20 2e 2f 74 75 61 70 69 2e  ]..load ./tuapi.
0040: 73 6f 0a 0a 23 70 75 74 73 20 5b 3a 3a 74 75 61  so..#puts [::tua
0050: 70 69 3a 3a 73 63 61 6e 5f 61 6e 64 5f 6c 6f 61  pi::scan_and_loa
0060: 64 5f 6b 65 72 6e 65 6c 5f 6d 6f 64 75 6c 65 73  d_kernel_modules
0070: 5d 0a 0a 23 66 6f 72 65 61 63 68 20 78 20 5b 6c  ]..#foreach x [l
0080: 69 73 74 20 41 53 20 43 4f 52 45 20 43 50 55 20  ist AS CORE CPU 
0090: 44 41 54 41 20 46 53 49 5a 45 20 4c 4f 43 4b 53  DATA FSIZE LOCKS
00a0: 20 4d 45 4d 4c 4f 43 4b 20 4d 53 47 51 55 45 55   MEMLOCK MSGQUEU
00b0: 45 20 4e 49 43 45 20 4e 4f 46 49 4c 45 20 4f 46  E NICE NOFILE OF
00c0: 49 4c 45 20 4e 50 52 4f 43 20 52 53 53 20 52 54  ILE NPROC RSS RT
00d0: 50 52 49 4f 20 52 54 54 49 4d 45 20 53 49 47 50  PRIO RTTIME SIGP
00e0: 45 4e 44 49 4e 47 20 53 54 41 43 4b 5d 20 7b 0a  ENDING STACK] {.
00f0: 23 09 70 75 74 73 20 22 5c 74 5c 74 63 61 73 65  #.puts "\t\tcase
0100: 20 5b 66 6f 72 6d 61 74 20 30 78 25 78 4c 55 20   [format 0x%xLU 
0110: 5b 3a 3a 74 75 61 70 69 3a 3a 69 6e 74 65 72 6e  [::tuapi::intern
0120: 61 6c 3a 3a 68 61 73 68 20 24 78 5d 5d 3a 20 2f  al::hash $x]]: /
0130: 2a 20 24 78 20 2a 2f 22 0a 23 09 70 75 74 73 20  * $x */".#.puts 
0140: 22 5c 74 5c 74 5c 74 72 65 73 6f 75 72 63 65 5f  "\t\t\tresource_
0150: 69 64 20 3d 20 52 4c 49 4d 49 54 5f 24 78 3b 22  id = RLIMIT_$x;"
0160: 0a 23 09 70 75 74 73 20 22 5c 74 5c 74 5c 74 62  .#.puts "\t\t\tb
0170: 72 65 61 6b 3b 22 0a 23 7d 0a 23 65 78 69 74 0a  reak;".#}.#exit.
0180: 0a 66 6f 72 65 61 63 68 20 69 66 61 63 65 20 5b  .foreach iface [
0190: 74 75 61 70 69 3a 3a 73 79 73 63 61 6c 6c 3a 3a  tuapi::syscall::
01a0: 69 66 63 6f 6e 66 69 67 5d 20 7b 0a 23 6c 6f 30  ifconfig] {.#lo0
01b0: 3a 32 3a 20 66 6c 61 67 73 3d 32 30 30 31 30 30  :2: flags=200100
01c0: 30 38 34 39 3c 55 50 2c 4c 4f 4f 50 42 41 43 4b  0849<UP,LOOPBACK
01d0: 2c 52 55 4e 4e 49 4e 47 2c 4d 55 4c 54 49 43 41  ,RUNNING,MULTICA
01e0: 53 54 2c 49 50 76 34 2c 56 49 52 54 55 41 4c 3e  ST,IPv4,VIRTUAL>
01f0: 20 6d 74 75 20 38 32 33 32 20 69 6e 64 65 78 20   mtu 8232 index 
0200: 31 0a 23 20 20 20 20 20 20 20 20 69 6e 65 74 20  1.#        inet 
0210: 31 32 37 2e 30 2e 30 2e 31 20 6e 65 74 6d 61 73  127.0.0.1 netmas
0220: 6b 20 66 66 30 30 30 30 30 30 20 0a 23 61 67 67  k ff000000 .#agg
0230: 72 31 30 30 30 30 33 3a 31 3a 20 66 6c 61 67 73  r100003:1: flags
0240: 3d 32 30 31 30 30 30 38 34 33 3c 55 50 2c 42 52  =201000843<UP,BR
0250: 4f 41 44 43 41 53 54 2c 52 55 4e 4e 49 4e 47 2c  OADCAST,RUNNING,
0260: 4d 55 4c 54 49 43 41 53 54 2c 49 50 76 34 2c 43  MULTICAST,IPv4,C
0270: 6f 53 3e 20 6d 74 75 20 31 35 30 30 20 69 6e 64  oS> mtu 1500 ind
0280: 65 78 20 32 0a 23 20 20 20 20 20 20 20 20 69 6e  ex 2.#        in
0290: 65 74 20 31 34 30 2e 31 39 34 2e 31 30 30 2e 31  et 140.194.100.1
02a0: 34 39 20 6e 65 74 6d 61 73 6b 20 66 66 66 66 66  49 netmask fffff
02b0: 66 30 30 20 62 72 6f 61 64 63 61 73 74 20 31 34  f00 broadcast 14
02c0: 30 2e 31 39 34 2e 31 30 30 2e 32 35 35 0a 0a 09  0.194.100.255...
02d0: 75 6e 73 65 74 20 2d 6e 6f 63 6f 6d 70 6c 61 69  unset -nocomplai
02e0: 6e 20 69 66 61 63 65 69 6e 66 6f 0a 09 61 72 72  n ifaceinfo..arr
02f0: 61 79 20 73 65 74 20 69 66 61 63 65 69 6e 66 6f  ay set ifaceinfo
0300: 20 5b 74 75 61 70 69 3a 3a 73 79 73 63 61 6c 6c   [tuapi::syscall
0310: 3a 3a 69 66 63 6f 6e 66 69 67 20 24 69 66 61 63  ::ifconfig $ifac
0320: 65 5d 0a 0a 09 73 65 74 20 73 65 63 6f 6e 64 6c  e]...set secondl
0330: 69 6e 65 20 22 22 0a 09 66 6f 72 65 61 63 68 20  ine ""..foreach 
0340: 7b 6c 61 62 65 6c 20 65 6e 74 72 79 7d 20 5b 6c  {label entry} [l
0350: 69 73 74 20 69 6e 65 74 20 61 64 64 72 65 73 73  ist inet address
0360: 20 6e 65 74 6d 61 73 6b 20 6e 65 74 6d 61 73 6b   netmask netmask
0370: 20 62 72 6f 61 64 63 61 73 74 20 62 72 6f 61 64   broadcast broad
0380: 63 61 73 74 5d 20 7b 0a 09 09 69 66 20 7b 21 5b  cast] {...if {![
0390: 69 6e 66 6f 20 65 78 69 73 74 73 20 69 66 61 63  info exists ifac
03a0: 65 69 6e 66 6f 28 24 65 6e 74 72 79 29 5d 7d 20  einfo($entry)]} 
03b0: 7b 0a 09 09 09 63 6f 6e 74 69 6e 75 65 0a 09 09  {....continue...
03c0: 7d 0a 0a 09 09 61 70 70 65 6e 64 20 73 65 63 6f  }....append seco
03d0: 6e 64 6c 69 6e 65 20 22 20 24 6c 61 62 65 6c 20  ndline " $label 
03e0: 24 69 66 61 63 65 69 6e 66 6f 28 24 65 6e 74 72  $ifaceinfo($entr
03f0: 79 29 22 0a 09 7d 0a 0a 09 70 75 74 73 20 22 24  y)"..}...puts "$
0400: 69 66 61 63 65 3a 20 66 6c 61 67 73 3d 3c 5b 6a  iface: flags=<[j
0410: 6f 69 6e 20 24 69 66 61 63 65 69 6e 66 6f 28 66  oin $ifaceinfo(f
0420: 6c 61 67 73 29 20 2c 5d 3e 20 6d 74 75 20 24 69  lags) ,]> mtu $i
0430: 66 61 63 65 69 6e 66 6f 28 6d 74 75 29 20 69 6e  faceinfo(mtu) in
0440: 64 65 78 20 24 69 66 61 63 65 69 6e 66 6f 28 69  dex $ifaceinfo(i
0450: 6e 64 65 78 29 22 0a 09 70 75 74 73 20 22 5c 74  ndex)"..puts "\t
0460: 5b 73 74 72 69 6e 67 20 74 72 69 6d 20 24 73 65  [string trim $se
0470: 63 6f 6e 64 6c 69 6e 65 5d 22 0a 09 69 66 20 7b  condline]"..if {
0480: 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 69 66 61  [info exists ifa
0490: 63 65 69 6e 66 6f 28 68 77 61 64 64 72 29 5d 7d  ceinfo(hwaddr)]}
04a0: 20 7b 0a 09 09 70 75 74 73 20 22 5c 74 65 74 68   {...puts "\teth
04b0: 65 72 20 24 69 66 61 63 65 69 6e 66 6f 28 68 77  er $ifaceinfo(hw
04c0: 61 64 64 72 29 22 0a 09 7d 0a 7d 0a 0a 23 74 75  addr)"..}.}..#tu
04d0: 61 70 69 3a 3a 73 79 73 63 61 6c 6c 3a 3a 72 6f  api::syscall::ro
04e0: 75 74 65 20 61 64 64 20 31 2e 32 2e 33 2e 34 20  ute add 1.2.3.4 
04f0: 32 35 35 2e 32 35 35 2e 32 35 35 2e 32 35 35 0a  255.255.255.255.
0500: 23 74 75 61 70 69 3a 3a 73 79 73 63 61 6c 6c 3a  #tuapi::syscall:
0510: 3a 69 66 63 6f 6e 66 69 67 20 64 75 6d 6d 79 30  :ifconfig dummy0
0520: 20 61 64 64 72 65 73 73 20 31 2e 32 2e 33 2e 34   address 1.2.3.4
0530: 20 6e 65 74 6d 61 73 6b 20 32 35 35 2e 32 35 35   netmask 255.255
0540: 2e 32 35 35 2e 30 20 66 6c 61 67 73 20 5b 6c 69  .255.0 flags [li
0550: 73 74 20 55 50 20 52 55 4e 4e 49 4e 47 20 42 52  st UP RUNNING BR
0560: 4f 41 44 43 41 53 54 20 4d 55 4c 54 49 43 41 53  OADCAST MULTICAS
0570: 54 5d 0a                                         T].