SayoriOS
0.3.3
tcp.h
1
//
2
// Created by ndraey on 21.4.2024.
3
//
4
5
#pragma once
6
7
#include "
common.h
"
8
#include "cards.h"
9
10
typedef
struct
{
11
uint16_t source;
12
uint16_t destination;
13
uint32_t seq;
14
uint32_t ack_seq;
15
uint16_t res1:4;
16
uint16_t doff:4;
17
uint16_t fin:1;
18
uint16_t syn:1;
19
uint16_t rst:1;
20
uint16_t psh:1;
21
uint16_t ack:1;
22
uint16_t urg:1;
23
uint16_t res2:2;
24
uint16_t window;
25
uint16_t check;
26
uint16_t urg_ptr;
27
}
tcp_packet_t
;
28
29
typedef
enum
{
30
TCP_NONE,
31
TCP_CREATED,
32
TCP_LISTENING,
33
TCP_ESTABLISHED
34
} tcp_connection_status_t;
35
36
typedef
struct
{
37
netcard_entry_t
* card;
38
uint32_t dest_ip_addr;
39
uint16_t source_port;
40
uint16_t dest_port;
41
uint32_t seq;
42
uint32_t ack;
43
tcp_connection_status_t status;
44
}
tcp_connection_t
;
45
46
void
tcp_handle_packet(
netcard_entry_t
*card,
tcp_packet_t
*packet);
common.h
Основные определения ядра
netcard_entry_t
Definition:
cards.h:5
tcp_connection_t
Definition:
tcp.h:36
tcp_packet_t
Definition:
tcp.h:10
kernel
include
net
tcp.h
Документация по SayoriOS. Последние изменения: Вс 8 Дек 2024 11:15:21. Создано системой
1.9.1