git: c3e9423743d9 - main - Move print_bits to ifconfig.c and make available to other src files.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 03 Jun 2024 15:52:06 UTC
The branch main has been updated by gordon:
URL: https://cgit.FreeBSD.org/src/commit/?id=c3e9423743d91ae5b5865602a905900a1855055e
commit c3e9423743d91ae5b5865602a905900a1855055e
Author: Gordon Tetlow <gordon@FreeBSD.org>
AuthorDate: 2024-05-31 17:48:10 +0000
Commit: Gordon Tetlow <gordon@FreeBSD.org>
CommitDate: 2024-06-03 15:48:35 +0000
Move print_bits to ifconfig.c and make available to other src files.
Reviewed by: emaste
Event: Kitchener-Waterloo Hackathon 202406
Differential Revision: https://reviews.freebsd.org/D45441
---
sbin/ifconfig/ifconfig.c | 23 +++++++++++++++++++++++
sbin/ifconfig/ifconfig.h | 2 ++
sbin/ifconfig/ifconfig_netlink.c | 23 -----------------------
3 files changed, 25 insertions(+), 23 deletions(-)
diff --git a/sbin/ifconfig/ifconfig.c b/sbin/ifconfig/ifconfig.c
index a8bd5a0c89db..92543a281959 100644
--- a/sbin/ifconfig/ifconfig.c
+++ b/sbin/ifconfig/ifconfig.c
@@ -1877,6 +1877,29 @@ Perror(const char *cmd)
Perrorc(cmd, errno);
}
+void
+print_bits(const char *btype, uint32_t *v, const int v_count,
+ const char **names, const int n_count)
+{
+ int num = 0;
+
+ for (int i = 0; i < v_count * 32; i++) {
+ bool is_set = v[i / 32] & (1U << (i % 32));
+ if (is_set) {
+ if (num++ == 0)
+ printf("<");
+ if (num != 1)
+ printf(",");
+ if (i < n_count)
+ printf("%s", names[i]);
+ else
+ printf("%s_%d", btype, i);
+ }
+ }
+ if (num > 0)
+ printf(">");
+}
+
/*
* Print a value a la the %b format of the kernel's printf
*/
diff --git a/sbin/ifconfig/ifconfig.h b/sbin/ifconfig/ifconfig.h
index 76a5aeb718b1..555e7dbaca64 100644
--- a/sbin/ifconfig/ifconfig.h
+++ b/sbin/ifconfig/ifconfig.h
@@ -260,6 +260,8 @@ void setifcap(if_ctx *ctx, const char *, int value);
void setifcapnv(if_ctx *ctx, const char *vname, const char *arg);
void Perror(const char *cmd);
+void print_bits(const char *btype, uint32_t *v, const int v_count,
+ const char **names, const int n_count);
void printb(const char *s, unsigned value, const char *bits);
void ifmaybeload(struct ifconfig_args *args, const char *name);
diff --git a/sbin/ifconfig/ifconfig_netlink.c b/sbin/ifconfig/ifconfig_netlink.c
index 8964b63caf7b..729d4ca56545 100644
--- a/sbin/ifconfig/ifconfig_netlink.c
+++ b/sbin/ifconfig/ifconfig_netlink.c
@@ -81,29 +81,6 @@ static const char *IFFBITS[] = {
"LOWER_UP", /* 24:0x1000000 IFF_NETLINK_1*/
};
-static void
-print_bits(const char *btype, uint32_t *v, const int v_count,
- const char **names, const int n_count)
-{
- int num = 0;
-
- for (int i = 0; i < v_count * 32; i++) {
- bool is_set = v[i / 32] & (1U << (i % 32));
- if (is_set) {
- if (num++ == 0)
- printf("<");
- if (num != 1)
- printf(",");
- if (i < n_count)
- printf("%s", names[i]);
- else
- printf("%s_%d", btype, i);
- }
- }
- if (num > 0)
- printf(">");
-}
-
static void
nl_init_socket(struct snl_state *ss)
{