| Title: gnetworking.h |
| SPDX-License-Identifier: LGPL-2.1-or-later |
| SPDX-FileCopyrightText: 2010 Dan Winship |
| |
| # gnetworking.h |
| |
| The `<gio/gnetworking.h>` header can be included to get |
| various low-level networking-related system headers, automatically |
| taking care of certain portability issues for you. |
| |
| This can be used, for example, if you want to call |
| [`setsockopt()`](man:setsockopt(2)) on a [class@Gio.Socket]. |
| |
| Note that while WinSock has many of the same APIs as the |
| traditional UNIX socket API, most of them behave at least slightly |
| differently (particularly with respect to error handling). If you |
| want your code to work under both UNIX and Windows, you will need |
| to take these differences into account. |
| |
| Also, under GNU libc, certain non-portable functions are only visible |
| in the headers if you define `_GNU_SOURCE` before including them. Note |
| that this symbol must be defined before including any headers, or it |
| may not take effect. |
| |
| There is one function provided specifically for initialising the networking |
| APIs, which needs to be called only if they are being used before GLib |
| initialises itself: |
| |
| * [func@Gio.networking_init] |