Voxia OS
v0.0.1
Hobby Project Operating System Targeting x86-64
Loading...
Searching...
No Matches
ipv4.h
Go to the documentation of this file.
1
#ifndef __NET__IPV4_H__
2
#define __NET__IPV4_H__
3
4
#include "
net/netbuff.h
"
5
#include "
net/netdev.h
"
6
#include <
type.h
>
7
8
struct
ipv4_header
{
9
uint8_t
version_ihl
;
10
uint8_t
tos
;
11
uint16_t
total_length
;
12
uint16_t
id
;
13
uint16_t
flags_fragment
;
14
uint8_t
ttl
;
15
uint8_t
protocol
;
16
uint16_t
checksum
;
17
uint32_t
src_ip
;
18
uint32_t
dst_ip
;
19
}
__attribute__
((packed));
20
21
void
ipv4_send
(
netdev_t
* dev,
struct
netbuff
* nb,
uint32_t
dst_ip
,
22
uint8_t
protocol
,
uint8_t
mac_dest[6]);
23
#endif
__attribute__
typedef __attribute__
Definition
msi.c:47
ipv4_send
void ipv4_send(netdev_t *dev, struct netbuff *nb, uint32_t dst_ip, uint8_t protocol, uint8_t mac_dest[6])
Definition
ipv4.c:32
dst_ip
uint32_t dst_ip
Definition
ipv4.h:9
protocol
uint8_t protocol
Definition
ipv4.h:6
netbuff.h
netdev.h
netdev_t
struct netdev netdev_t
Definition
netdev.h:19
ipv4_header
Definition
ipv4.h:8
ipv4_header::id
uint16_t id
Definition
ipv4.h:12
ipv4_header::total_length
uint16_t total_length
Definition
ipv4.h:11
ipv4_header::src_ip
uint32_t src_ip
Definition
ipv4.h:17
ipv4_header::flags_fragment
uint16_t flags_fragment
Definition
ipv4.h:13
ipv4_header::ttl
uint8_t ttl
Definition
ipv4.h:14
ipv4_header::version_ihl
uint8_t version_ihl
Definition
ipv4.h:9
ipv4_header::tos
uint8_t tos
Definition
ipv4.h:10
ipv4_header::dst_ip
uint32_t dst_ip
Definition
ipv4.h:18
ipv4_header::checksum
uint16_t checksum
Definition
ipv4.h:16
ipv4_header::protocol
uint8_t protocol
Definition
ipv4.h:15
netbuff
Definition
netbuff.h:9
type.h
uint16_t
unsigned short uint16_t
Definition
type.h:13
uint32_t
unsigned int uint32_t
Definition
type.h:19
uint8_t
unsigned char uint8_t
Definition
type.h:7
kernel
net
ipv4.h
Generated on Sat May 30 2026 11:09:57 for Voxia OS by
1.13.2