(ql, address, params)
| 1106 | "protocol": INT |
| 1107 | }) |
| 1108 | def hook__sflt_register(ql, address, params): |
| 1109 | sf = sflt_filter_t(ql, params["filter"]) |
| 1110 | sf = sf.loadFromMem() |
| 1111 | true_name = str(sf.sf_handle).encode() |
| 1112 | true_name += b"_" + ql.mem.string(sf.sf_name.value).encode() |
| 1113 | true_name += b"_" + str(params["domain"]).encode() |
| 1114 | true_name += b"_" + str(params["type"]).encode() |
| 1115 | true_name += b"_" + str(params["protocol"]).encode() |
| 1116 | flag = 0 |
| 1117 | |
| 1118 | if sf.sf_unregistered != 0: |
| 1119 | flag |= 1 << 0 |
| 1120 | ql.os.ev_manager.register(sf.sf_unregistered.value, true_name, MacOSEventType.EV_SFLT_UNREGISTERED, protocol=params["protocol"]) |
| 1121 | if sf.sf_attach != 0: |
| 1122 | flag |= 1 << 1 |
| 1123 | ql.os.ev_manager.register(sf.sf_attach.value, true_name, MacOSEventType.EV_SFLT_ATTACH, protocol=params["protocol"]) |
| 1124 | if sf.sf_detach != 0: |
| 1125 | flag |= 1 << 2 |
| 1126 | ql.os.ev_manager.register(sf.sf_detach.value, true_name, MacOSEventType.EV_SFLT_DETACH, protocol=params["protocol"]) |
| 1127 | if sf.sf_notify != 0: |
| 1128 | flag |= 1 << 3 |
| 1129 | ql.os.ev_manager.register(sf.sf_notify.value, true_name, MacOSEventType.EV_SFLT_NOTIFY_CONNECTING, protocol=params["protocol"]) |
| 1130 | ql.os.ev_manager.register(sf.sf_notify.value, true_name, MacOSEventType.EV_SFLT_NOTIFY_CONNECTED, protocol=params["protocol"]) |
| 1131 | ql.os.ev_manager.register(sf.sf_notify.value, true_name, MacOSEventType.EV_SFLT_NOTIFY_DISCONNECTING, protocol=params["protocol"]) |
| 1132 | ql.os.ev_manager.register(sf.sf_notify.value, true_name, MacOSEventType.EV_SFLT_NOTIFY_DISCONNECTED, protocol=params["protocol"]) |
| 1133 | ql.os.ev_manager.register(sf.sf_notify.value, true_name, MacOSEventType.EV_SFLT_NOTIFY_FLUSH_READ, protocol=params["protocol"]) |
| 1134 | ql.os.ev_manager.register(sf.sf_notify.value, true_name, MacOSEventType.EV_SFLT_NOTIFY_SHUTDOWN, protocol=params["protocol"]) |
| 1135 | ql.os.ev_manager.register(sf.sf_notify.value, true_name, MacOSEventType.EV_SFLT_NOTIFY_CANTRECVMORE, protocol=params["protocol"]) |
| 1136 | ql.os.ev_manager.register(sf.sf_notify.value, true_name, MacOSEventType.EV_SFLT_NOTIFY_CANTSENDMORE, protocol=params["protocol"]) |
| 1137 | ql.os.ev_manager.register(sf.sf_notify.value, true_name, MacOSEventType.EV_SFLT_NOTIFY_CLOSING, protocol=params["protocol"]) |
| 1138 | ql.os.ev_manager.register(sf.sf_notify.value, true_name, MacOSEventType.EV_SFLT_NOTIFY_BOUND, protocol=params["protocol"]) |
| 1139 | if sf.sf_getpeername != 0: |
| 1140 | flag |= 1 << 4 |
| 1141 | ql.os.ev_manager.register(sf.sf_getpeername.value, true_name, MacOSEventType.EV_SFLT_GETPEERNAME, protocol=params["protocol"]) |
| 1142 | if sf.sf_getsockname != 0: |
| 1143 | flag |= 1 << 5 |
| 1144 | ql.os.ev_manager.register(sf.sf_getsockname.value, true_name, MacOSEventType.EV_SFLT_GETSOCKNAME, protocol=params["protocol"]) |
| 1145 | if sf.sf_data_in != 0: |
| 1146 | flag |= 1 << 6 |
| 1147 | ql.os.ev_manager.register(sf.sf_data_in.value, true_name, MacOSEventType.EV_SFLT_DATA_IN, protocol=params["protocol"]) |
| 1148 | if sf.sf_data_out != 0: |
| 1149 | flag |= 1 << 7 |
| 1150 | ql.os.ev_manager.register(sf.sf_data_out.value, true_name, MacOSEventType.EV_SFLT_DATA_OUT, protocol=params["protocol"]) |
| 1151 | if sf.sf_connect_in != 0: |
| 1152 | flag |= 1 << 8 |
| 1153 | ql.os.ev_manager.register(sf.sf_connect_in.value, true_name, MacOSEventType.EV_SFLT_CONNECT_IN, protocol=params["protocol"]) |
| 1154 | if sf.sf_connect_out != 0: |
| 1155 | flag |= 1 << 9 |
| 1156 | ql.os.ev_manager.register(sf.sf_connect_out.value, true_name, MacOSEventType.EV_SFLT_CONNECT_OUT, protocol=params["protocol"]) |
| 1157 | if sf.sf_bind != 0: |
| 1158 | flag |= 1 << 10 |
| 1159 | ql.os.ev_manager.register(sf.sf_bind.value, true_name, MacOSEventType.EV_SFLT_BIND, protocol=params["protocol"]) |
| 1160 | if sf.sf_setoption != 0: |
| 1161 | flag |= 1 << 11 |
| 1162 | ql.os.ev_manager.register(sf.sf_setoption.value, true_name, MacOSEventType.EV_SFLT_SETOPTION, protocol=params["protocol"]) |
| 1163 | if sf.sf_getoption != 0: |
| 1164 | flag |= 1 << 12 |
| 1165 | ql.os.ev_manager.register(sf.sf_getoption.value, true_name, MacOSEventType.EV_SFLT_GETOPTION, protocol=params["protocol"]) |
nothing calls this directly
no test coverage detected