2022-04-12 21:37:44 +03:00
|
|
|
// Copyright (c) Microsoft Corporation
|
|
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
2022-04-21 02:48:20 +03:00
|
|
|
#include <stdbool.h>
|
2022-04-12 21:37:44 +03:00
|
|
|
#include <stdint.h>
|
|
|
|
|
|
|
|
#define SOCKET_TEST_PORT 8989
|
2023-09-12 01:40:33 +03:00
|
|
|
#define REDIRECT_CONTEXT_MESSAGE "RedirectContextTestMessage"
|
2022-04-12 21:37:44 +03:00
|
|
|
|
|
|
|
typedef struct _ip_address
|
|
|
|
{
|
|
|
|
union
|
|
|
|
{
|
|
|
|
uint32_t ipv4;
|
|
|
|
uint32_t ipv6[4];
|
|
|
|
};
|
|
|
|
} ip_address_t;
|
|
|
|
|
2023-12-13 02:03:15 +03:00
|
|
|
typedef enum _connection_type
|
|
|
|
{
|
|
|
|
INVALID,
|
|
|
|
TCP,
|
|
|
|
UNCONNECTED_UDP,
|
|
|
|
CONNECTED_UDP
|
|
|
|
} connection_type_t;
|
|
|
|
|
2022-04-12 21:37:44 +03:00
|
|
|
typedef struct _connection_tuple
|
|
|
|
{
|
2023-11-28 19:08:56 +03:00
|
|
|
ip_address_t local_ip;
|
|
|
|
uint16_t local_port;
|
|
|
|
ip_address_t remote_ip;
|
|
|
|
uint16_t remote_port;
|
2022-04-12 21:37:44 +03:00
|
|
|
uint32_t protocol;
|
2022-06-17 19:31:48 +03:00
|
|
|
uint64_t interface_luid;
|
2022-04-12 21:37:44 +03:00
|
|
|
} connection_tuple_t;
|
2022-04-21 02:48:20 +03:00
|
|
|
|
|
|
|
typedef struct _audit_entry
|
|
|
|
{
|
|
|
|
connection_tuple_t tuple;
|
|
|
|
bool outbound : 1;
|
|
|
|
bool connected : 1;
|
|
|
|
} audit_entry_t;
|
2022-11-29 23:49:42 +03:00
|
|
|
|
2023-12-13 02:03:15 +03:00
|
|
|
typedef struct _destination_entry_key
|
2022-11-29 23:49:42 +03:00
|
|
|
{
|
|
|
|
ip_address_t destination_ip;
|
|
|
|
uint16_t destination_port;
|
|
|
|
uint32_t protocol;
|
2023-12-13 02:03:15 +03:00
|
|
|
} destination_entry_key_t;
|
|
|
|
|
|
|
|
typedef struct _destination_entry_value
|
|
|
|
{
|
|
|
|
ip_address_t destination_ip;
|
|
|
|
uint16_t destination_port;
|
|
|
|
uint32_t connection_type;
|
|
|
|
} destination_entry_value_t;
|
2023-01-31 02:44:30 +03:00
|
|
|
|
|
|
|
typedef struct _sock_addr_audit_entry
|
|
|
|
{
|
|
|
|
uint64_t logon_id;
|
|
|
|
uint64_t process_id;
|
|
|
|
int32_t is_admin;
|
2023-04-10 23:47:41 +03:00
|
|
|
uint16_t local_port;
|
2023-01-31 02:44:30 +03:00
|
|
|
} sock_addr_audit_entry_t;
|