[TOC] # 函数列表 ## 注意事项 具体函数请点击链接或打开doc文件夹直接查找 ## 套接字函数 ssocket.h #### socket套接字相关 ###### [`static inline int sock_accpet(SOCKET sock,SOCKET* client, char** accept_ip, unsigned short* port);`](./doc/document.md) 将有效的套接字绑定并监听网络以提供套接字服务,返回0表示成功 ###### [`static inline int make_server_sock(SOCKET* sock, const char* server_ip, unsigned short port);`](./doc/document.md) ###### [`static inline int make_client_sock(SOCKET* sock, const char* connect_ip, unsigned short port);`](./doc/document.md) ###### [`static inline void close_sock(SOCKET sock);`](./doc/document.md) ###### [`static inline int make_server_sock_ex(SOCKET* sock, const char* server_ip, unsigned short port, struct addrinfo** resaddr);`](./doc/document.md) ###### [`static inline int make_client_sock_ex(SOCKET* sock, const char* connect_ip, unsigned short port, struct addrinfo** resaddr);`](./doc/document.md) #### 错误处理(暂时未启用) ###### [`static inline void out_sock_err(FILE* output, int errcode);`](./doc/document.md) ###### [`static inline void get_sock_err(char* buff_128, size_t buff_len, int errcode);`](./doc/document.md) #### 内置函数 ###### [`static inline int _getaddrinfo(struct addrinfo* inf, struct addrinfo** resaddr, const char* ip, const char* port);`](./doc/document.md) ###### [`static inline int _socket(SOCKET* sock, struct addrinfo* resaddr);`](./doc/document.md) ###### [`static inline int _connect(SOCKET sock, struct addrinfo* resaddr);`](./doc/document.md) ###### [`static inline int _bind(SOCKET sock, struct addrinfo* resaddr);`](./doc/document.md) ###### [`static inline int _bindlisten(SOCKET sock, struct addrinfo* resaddr);`](./doc/document.md) ###### [`static inline int _accept(SOCKET sock, SOCKET* client, struct addrinfo* inf);`](./doc/document.md) ###### [`static inline int _sock(SOCKET* sock, int af, int type);`](./doc/document.md) #### 手动创建socket ###### [`static inline int make_sock_tcp4(SOCKET* sock);`](./doc/document.md) ###### [`static inline int make_sock_tcp6(SOCKET* sock);`](./doc/document.md) ###### [`static inline int make_sock_udp4(SOCKET* sock);`](./doc/document.md) ###### [`static inline int make_sock_udp6(SOCKET* sock);`](./doc/document.md) ###### [`static inline int make_sock(SOCKET* sock);`](./doc/document.md) 初始化套接字接口,返回0表示成功 不推荐,仅用于测试,将在未来版本删除 ###### [`static inline int sock_connect(SOCKET sock, const char* connect_ip, unsigned short port);`](./doc/document.md) 将有效的套接字连接到相应的套接字服务,返回0表示成功 ###### [`static inline int sock_bindlisten(SOCKET sock, const char* server_ip, unsigned short port);`](./doc/document.md) 将有效的套接字绑定并监听网络以提供套接字服务,返回0表示成功 ###### ### 线程函数 tthread.h #### thread线程相关 ###### [`static inline int thread_create(TID* tid, void(*start_routine)(void*), void* arg);`](./doc/document.md) ###### [`static inline void thread_exit(void);`](./doc/document.md) ###### [`static inline int thread_join(TID tid);`](./doc/document.md) ###### [`static inline TID thread_self(void);`](./doc/document.md) #### mutex互斥锁相关 ###### [`static inline int thread_mutex_init(MUTEX* mutex);`](./doc/document.md) ###### [`static inline int thread_mutex_destroy(MUTEX* mutex);`](./doc/document.md) ###### [`static inline int thread_mutex_lock(MUTEX* mutex);`](./doc/document.md) ###### [`static inline int thread_mutex_unlock(MUTEX* mutex);`](./doc/document.md) #### cond信号量相关 ###### [`static inline int thread_cond_init(COND* cond);`](./doc/document.md) ###### [`static inline int thread_cond_destroy(COND* cond);`](./doc/document.md) ###### [`static inline int thread_cond_singal(COND* cond);`](./doc/document.md) ###### [`static inline int thread_cond_broadcast(COND* cond);`](./doc/document.md) ###### [`static inline int thread_cond_wait(COND* cond, MUTEX* mutex);`](./doc/document.md) ###### [`static inline int thread_cond_timedwait(COND* cond, MUTEX* mutex, int ms);`](./doc/document.md) #### stdio标准函数的线程安全 ###### [`static inline int tprintf(MUTEX* mutex, const char* format, ...);`](./doc/document.md) ###### [`static inline int tfprintf(MUTEX* mutex, FILE* const stream, const char* format, ...);`](./doc/document.md) ###### [`static inline int tsprintf(MUTEX* mutex, char* const buffer, const char* format, ...);`](./doc/document.md) ###### [`static inline int tsnprintf(MUTEX* mutex, char* const buffer, const size_t buffer_count, const char* format, ...);`](./doc/document.md) ###### [`static inline int tvprintf(MUTEX* mutex, const char* format, va_list arglist);`](./doc/document.md) ###### [`static inline int tvfprintf(MUTEX* mutex, FILE* const stream, const char* format, va_list arglist);`](./doc/document.md) ###### [`static inline int tvsprintf(MUTEX* mutex, char* const buffer, const char* format, va_list arglist);`](./doc/document.md) ###### [`static inline int tvsnprintf(MUTEX* mutex, char* const buffer, const size_t buffer_count, const char* format, va_list arglist);`](./doc/document.md)