NetworkManager/libnm-core/nm-libnm-core-intern
Thomas Haller 874bd8994e
libnm,shared: move nm-ethtool helper to "libnm-base"
We want to use this by "shared/nm-platform", which should have
no dependency on "libnm-core".

Move "libnm-core/nm-ethtool-utils.h" to "libnm/nm-ethtool-utils.h" so
that it is only used by libnm. This file contains the defines for
the option names.

Also, symlink "libnm/nm-ethtool-utils.h" as "shared/nm-base/nm-ethtool-utils-base.h".
We want to use the same defines also internally. Since they are both
public API (must be in libnm) and should be in "shared/nm-base", this
is the way.
2021-01-15 11:32:41 +01:00
..
nm-auth-subject.c all: update deprecated SPDX license identifiers 2021-01-05 09:46:21 +01:00
nm-auth-subject.h all: update deprecated SPDX license identifiers 2021-01-05 09:46:21 +01:00
nm-common-macros.h all: update deprecated SPDX license identifiers 2021-01-05 09:46:21 +01:00
nm-libnm-core-utils.c all: update deprecated SPDX license identifiers 2021-01-05 09:46:21 +01:00
nm-libnm-core-utils.h all: update deprecated SPDX license identifiers 2021-01-05 09:46:21 +01:00
README.md all: move "shared/nm-libnm-core-aux" to "libnm-core/nm-libnm-core-aux" 2020-06-11 10:53:50 +02:00

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

  • uses parts of "libnm-core", that are public API of "libnm"
  • that is statically linked into libnm-core (and thus libnm and NetworkManager).
  • that can also be statically linked into other users of libnm.

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

That means:

  • you can use it everywhere where you either statically link with libnm-core, or dynamically link with libnm.
  • you can even use it inside of libnm-core itself. This is the difference between nm-libnm-core-intern and nm-libnm-core-aux.

Also, since nm-libnm-core-intern itself only uses public (stable) API of libnm, you theoretically can copy the sources into your own source tree.