1 /* This file is part of Netwib. Read and honor its license.
2 */
3 
4 /*-------------------------------------------------------------*/
netwib_priv_winsock_init(void)5 netwib_err netwib_priv_winsock_init(void)
6 {
7   WSADATA wsaData;
8   int major;
9   int minor;
10   int reti;
11 
12   major = 1;
13   minor = 1;
14   reti = WSAStartup(MAKEWORD(major, minor), &wsaData);
15   if (reti != 0) {
16     return(NETWIB_ERR_FUWSASTARTUP);
17   }
18 
19   if (HIBYTE(wsaData.wVersion) != major || LOBYTE(wsaData.wVersion) != minor) {
20     WSACleanup();
21     return(NETWIB_ERR_FUWSASTARTUP);
22   }
23 
24   return(NETWIB_ERR_OK);
25 }
26 
27 /*-------------------------------------------------------------*/
netwib_priv_winsock_close(void)28 netwib_err netwib_priv_winsock_close(void)
29 {
30   int reti;
31 
32   reti = WSACleanup();
33   if (reti != 0) {
34     return(NETWIB_ERR_FUWSACLEANUP);
35   }
36 
37   return(NETWIB_ERR_OK);
38 }
39