mirror of
https://github.com/subhobhai943/SUB-OS.git
synced 2026-10-26 00:52:50 +00:00
feat: Massive OS expansion with IPC, Sound & TTS, Block layer, FAT32/ext2/sysfs, Signals, Syscalls, Modules, Drivers & 50+ LazyBox applets
This commit is contained in:
1 parent
5662be29f5
commit
d680335f05
64 files changed
+2370
-166
No files matched your search
@@ -0,0 +1,10 @@
|
||||
#ifndef _NET_DHCP_H
|
||||
#define _NET_DHCP_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
void dhcp_init(void);
|
||||
int dhcp_request_lease(void);
|
||||
|
||||
#endif // _NET_DHCP_H
|
||||
@@ -0,0 +1,9 @@
|
||||
#ifndef _NET_DNS_H
|
||||
#define _NET_DNS_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
void dns_init(void);
|
||||
uint32_t dns_resolve(const char* hostname);
|
||||
|
||||
#endif // _NET_DNS_H
|
||||
@@ -0,0 +1,46 @@
|
||||
#ifndef _NET_SOCKET_H
|
||||
#define _NET_SOCKET_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
#include <stdbool.h>
|
||||
#include <kernel/types.h>
|
||||
|
||||
#define AF_INET 2
|
||||
#define SOCK_STREAM 1
|
||||
#define SOCK_DGRAM 2
|
||||
#define SOCK_RAW 3
|
||||
|
||||
#define IPPROTO_IP 0
|
||||
#define IPPROTO_ICMP 1
|
||||
#define IPPROTO_TCP 6
|
||||
#define IPPROTO_UDP 17
|
||||
|
||||
typedef struct sockaddr_in {
|
||||
uint16_t sin_family;
|
||||
uint16_t sin_port;
|
||||
uint32_t sin_addr;
|
||||
char sin_zero[8];
|
||||
} sockaddr_in_t;
|
||||
|
||||
typedef struct socket {
|
||||
int domain;
|
||||
int type;
|
||||
int protocol;
|
||||
uint32_t local_ip;
|
||||
uint16_t local_port;
|
||||
uint32_t remote_ip;
|
||||
uint16_t remote_port;
|
||||
int state;
|
||||
bool in_use;
|
||||
} socket_t;
|
||||
|
||||
void socket_subsystem_init(void);
|
||||
int sys_socket(int domain, int type, int protocol);
|
||||
int sys_bind(int sockfd, const struct sockaddr_in* addr, size_t addrlen);
|
||||
int sys_connect(int sockfd, const struct sockaddr_in* addr, size_t addrlen);
|
||||
ssize_t sys_send(int sockfd, const void* buf, size_t len, int flags);
|
||||
ssize_t sys_recv(int sockfd, void* buf, size_t len, int flags);
|
||||
int sys_close_socket(int sockfd);
|
||||
|
||||
#endif // _NET_SOCKET_H
|
||||
@@ -0,0 +1,33 @@
|
||||
#ifndef _NET_TCP_H
|
||||
#define _NET_TCP_H
|
||||
|
||||
#include <net/net.h>
|
||||
|
||||
#define TCP_STATE_CLOSED 0
|
||||
#define TCP_STATE_LISTEN 1
|
||||
#define TCP_STATE_SYN_SENT 2
|
||||
#define TCP_STATE_SYN_RCVD 3
|
||||
#define TCP_STATE_ESTABLISHED 4
|
||||
#define TCP_STATE_FIN_WAIT1 5
|
||||
#define TCP_STATE_FIN_WAIT2 6
|
||||
#define TCP_STATE_CLOSE_WAIT 7
|
||||
#define TCP_STATE_CLOSING 8
|
||||
#define TCP_STATE_LAST_ACK 9
|
||||
#define TCP_STATE_TIME_WAIT 10
|
||||
|
||||
typedef struct {
|
||||
uint16_t src_port;
|
||||
uint16_t dst_port;
|
||||
uint32_t seq_num;
|
||||
uint32_t ack_num;
|
||||
uint8_t data_offset_reserved;
|
||||
uint8_t flags;
|
||||
uint16_t window_size;
|
||||
uint16_t checksum;
|
||||
uint16_t urgent_pointer;
|
||||
} __attribute__((packed)) tcp_header_t;
|
||||
|
||||
void tcp_init(void);
|
||||
void tcp_receive(const uint8_t* packet, uint16_t length, uint32_t src_ip);
|
||||
|
||||
#endif // _NET_TCP_H
|
||||
@@ -0,0 +1,10 @@
|
||||
#ifndef _NET_UDP_H
|
||||
#define _NET_UDP_H
|
||||
|
||||
#include <net/net.h>
|
||||
|
||||
void udp_init(void);
|
||||
void udp_receive(const uint8_t* packet, uint16_t length, uint32_t src_ip);
|
||||
void udp_send(uint32_t dst_ip, uint16_t src_port, uint16_t dst_port, const void* data, uint16_t len);
|
||||
|
||||
#endif // _NET_UDP_H
|
||||
Reference in new issue
Block a user