-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Global initialisers */
-
-/* GSocket_Init() must be called at the beginning */
-bool GSocket_Init();
-/* GSocket_Cleanup() must be called at the ending */
-void GSocket_Cleanup();
-
-/* Constructors / Destructors */
-
-GSocket *GSocket_new();
-void GSocket_destroy(GSocket *socket);
-
-/* This will disable all IO calls to this socket but errors are still available */
-void GSocket_Shutdown(GSocket *socket);
-
-/* Address handling */
-
-GSocketError GSocket_SetLocal(GSocket *socket, GAddress *address);
-GSocketError GSocket_SetPeer(GSocket *socket, GAddress *address);
-GAddress *GSocket_GetLocal(GSocket *socket);
-GAddress *GSocket_GetPeer(GSocket *socket);
-
-/* Non-oriented connections handlers */
-
-GSocketError GSocket_SetNonOriented(GSocket *socket);
-
-/* Server specific parts */
-
-/*
- GSocket_SetServer() setups the socket as a server. It uses the "Local" field
- of GSocket. "Local" must be set by GSocket_SetLocal() before
- GSocket_SetServer() is called. In the other case, it returns GSOCK_INVADDR.
-*/
-GSocketError GSocket_SetServer(GSocket *socket);
-
-/*
- GSocket_WaitConnection() waits for an incoming client connection.
-*/
-GSocket *GSocket_WaitConnection(GSocket *socket);