Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 4972 → Rev 4973

/programs/develop/libraries/menuetlibc/src/libc/net/Makefile
0,0 → 1,3
THIS_SRCS = socket.c stack.c
 
include $(MENUET_LIBC_TOPDIR)/Make.rules
/programs/develop/libraries/menuetlibc/src/libc/net/socket.c
0,0 → 1,83
#include<menuet/net.h>
 
__u32 __menuet__open_UDP_socket(__u32 local_port,__u32 remote_port,__u32 remote_ip)
{
__u32 __ret;
__asm__("int $0x40":"=a"(__ret):"a"(__NET_socket),"b"(__NET_sock_open_UDP),
"c"(local_port),"d"(remote_port),"S"(remote_ip));
return __ret;
}
 
__u32 __menuet__open_TCP_socket(__u32 local_port,__u32 remote_port,__u32 remote_ip,int mode)
{
__u32 __ret;
__asm__("int $0x40":"=a"(__ret):"a"(__NET_socket),"b"(__NET_sock_open_TCP),
"c"(local_port),"d"(remote_port),"S"(remote_ip),"D"(mode));
return __ret;
}
 
int __menuet__close_UDP_socket(int socket)
{
int __ret;
__asm__("int $0x40":"=a"(__ret):"a"(__NET_socket),"b"(__NET_sock_close_UDP),
"c"(socket));
return __ret;
}
 
int __menuet__close_TCP_socket(int socket)
{
int __ret;
__asm__("int $0x40":"=a"(__ret):"a"(__NET_socket),"b"(__NET_sock_close_TCP),
"c"(socket));
return __ret;
}
 
int __menuet__poll_socket(int sock)
{
int __ret;
__asm__("int $0x40":"=a"(__ret):"a"(__NET_socket),"b"(__NET_sock_poll),
"c"(sock));
return __ret;
}
 
int __menuet__read_socket(int sock,__u8 * return_data)
{
int data_remaining;
__u8 data_byte;
__asm__("int $0x40":"=a"(data_remaining),"=b"(data_byte):"a"(__NET_socket),
"b"(__NET_sock_poll),"c"(sock));
if(return_data) *return_data=data_byte;
return data_remaining;
}
 
int __menuet__get_TCP_socket_status(int sock)
{
int __ret;
__asm__("int $0x40":"=a"(__ret):"a"(__NET_socket),"b"(__NET_sock_get_status),
"c"(sock));
return __ret;
}
 
int __menuet__write_UDP_socket(int sock,int count,void * buffer)
{
int __ret;
__asm__("int $0x40":"=a"(__ret):"a"(__NET_socket),"b"(__NET_sock_write_UDP),
"c"(sock),"d"(count),"S"((__u32)buffer));
return __ret;
}
 
int __menuet__write_TCP_socket(int sock,int count,void * buffer)
{
int __ret;
__asm__("int $0x40":"=a"(__ret):"a"(__NET_socket),"b"(__NET_sock_write_TCP),
"c"(sock),"d"(count),"S"((__u32)buffer));
return __ret;
}
 
int __menuet__check_net_port_availability(int port)
{
int __ret;
__asm__("int $0x40":"=a"(__ret):"a"(__NET_socket),"b"(__NET_sock_check_port),
"c"(port));
return __ret;
}
/programs/develop/libraries/menuetlibc/src/libc/net/stack.c
0,0 → 1,26
#include<menuet/net.h>
 
int __menuet__get_stack_config_word(void)
{
int __ret;
__asm__("int $0x40":"=a"(__ret):"a"(__NET_stack),"b"(__NET_stack_rd_cfg_word));
return __ret;
}
 
__u32 __menuet__get_my_IP(void)
{
__u32 __ret;
__asm__("int $0x40":"=a"(__ret):"a"(__NET_stack),"b"(__NET_stack_get_ip));
return __ret;
}
 
void __menuet__set_stack_config_word(int cfg)
{
__asm__("int $0x40"::"a"(__NET_stack),"b"(__NET_stack_wr_cfg_word),
"c"(cfg));
}
 
void __menuet__set_my_IP(__u32 my_IP)
{
__asm__("int $0x40"::"a"(__NET_stack),"b"(__NET_stack_put_ip),"c"(my_IP));
}