32 lines
913 B
C
32 lines
913 B
C
#ifndef __SOCKET_H
|
|
#define __SOCKET_H
|
|
|
|
#include "ether.h"
|
|
#include "tcp.h"
|
|
|
|
struct socket_t {
|
|
struct ether_t *ether;
|
|
unsigned char status;
|
|
unsigned int addr;
|
|
unsigned int port_dest;
|
|
unsigned int port_recv;
|
|
unsigned int bytes_available;
|
|
unsigned int bytes_read;
|
|
unsigned int offset;
|
|
unsigned char socket_type;
|
|
struct tcp_socket_t tcp_sock;
|
|
struct tcp_data_t *tcp_curr_packet;
|
|
struct tcp_data_t **tcp_packets;
|
|
unsigned int tcp_packet_count;
|
|
};
|
|
|
|
extern struct socket_t *socket_find(unsigned int dport);
|
|
extern void socket_close(struct socket_t *sock);
|
|
extern struct socket_t *socket_open(unsigned char type);
|
|
extern int socket_write(struct socket_t* sock, unsigned char* payload, unsigned int len);
|
|
extern int socket_connect(struct socket_t* sock, unsigned int dest_ip, unsigned short dest_port);
|
|
extern int socket_read(struct socket_t *sock, char *buffer, int len);
|
|
extern void init_sockets();
|
|
|
|
#endif
|