NetworkManager/src/libnm-core-aux-intern
Thomas Haller 0b1177cb18
all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses
G_TYPE_CHECK_INSTANCE_CAST() can trigger a "-Wcast-align":

    src/core/devices/nm-device-macvlan.c: In function 'parent_changed_notify':
    /usr/include/glib-2.0/gobject/gtype.h:2421:42: error: cast increases required alignment of target type [-Werror=cast-align]
     2421 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) ip)
          |                                          ^
    /usr/include/glib-2.0/gobject/gtype.h:501:66: note: in expansion of macro '_G_TYPE_CIC'
      501 | #define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
          |                                                                  ^~~~~~~~~~~
    src/core/devices/nm-device-macvlan.h:13:6: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
       13 |     (G_TYPE_CHECK_INSTANCE_CAST((obj), NM_TYPE_DEVICE_MACVLAN, NMDeviceMacvlan))
          |      ^~~~~~~~~~~~~~~~~~~~~~~~~~

Avoid that by using _NM_G_TYPE_CHECK_INSTANCE_CAST().

This can only be done for our internal usages. The public headers
of libnm are not changed.
2022-12-16 10:55:03 +01:00
..
meson.build build/meson: cleanup dependencies for libnm-core-aux-intern 2021-02-28 10:42:05 +01:00
nm-auth-subject.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-auth-subject.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-common-macros.h build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-libnm-core-utils.c dns: accept DoT SNI server name in "ipv[46].dns" settings 2022-10-27 09:11:31 +02:00
nm-libnm-core-utils.h dns: accept DoT SNI server name in "ipv[46].dns" settings 2022-10-27 09:11:31 +02:00
README.md build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00

libnm-core-aux-intern

libnm-core-aux-intern is a static library that:

Basically, it is a static library with utility functions that extends libnm-core-impl (the part that is public API of libnm), but it is also used by libnm-core-impl itself.

That means:

Note that libnm-core-aux-intern only uses public API of libnm.

This directory should not be added to the include search path. Instead, users should fully qualify the include like #include "libnm-core-aux-intern/nm-auth-subject.h".