socket.h 1.1 KB

123456789101112131415161718192021222324252627282930
  1. #pragma once
  2. #include "pocketpy/config.h"
  3. #include <stdint.h>
  4. #if PK_ENABLE_OS
  5. typedef void* c11_socket_handler;
  6. enum c11_address_family { C11_AF_INET = 2 };
  7. enum c11_socket_kind { C11_SOCK_STREAM = 1 };
  8. c11_socket_handler c11_socket_create(int family, int type, int protocol);
  9. int c11_socket_bind(c11_socket_handler socket, const char* hostname, unsigned short port);
  10. int c11_socket_listen(c11_socket_handler socket, int backlog);
  11. c11_socket_handler
  12. c11_socket_accept(c11_socket_handler socket, char* client_ip, unsigned short* client_port);
  13. int c11_socket_connect(c11_socket_handler socket,
  14. const char* server_ip,
  15. unsigned short server_port);
  16. int c11_socket_recv(c11_socket_handler socket, char* buffer, int maxsize);
  17. int c11_socket_send(c11_socket_handler socket, const char* senddata, int datalen);
  18. int c11_socket_close(c11_socket_handler socket);
  19. int c11_socket_set_block(c11_socket_handler socket, int flag);
  20. c11_socket_handler c11_socket_invalid_socket_handler();
  21. int c11_socket_get_last_error();
  22. #endif // PK_ENABLE_OS