KDK_NC_IS_UP(3)
💖 KDK_NC_IS_UP(3) — the libkync girlies' guide 💖
okay so bestie, welcome to the Library Functions Manual entry for kdk_nc_is_up(3) — yes it's a section 3 page, yes we're doing this, and yes it's gonna slay 🫶
✨ NAME ✨
kdk_nc_is_up — 检测指定网卡是否处于UP状态
(translation for my monolingual besties: it checks whether a given NIC is in the UP state 💅)
🌸 SYNOPSIS 🌸
#include <libkync.h>
extern int kdk_nc_is_up(const char *nc);
Link with -lkyhw.
🦋 Detailed Description 🦋
The main function of the interface is to detect whether the specified NIC nc is in the UP state.
The argument nc is the name of the NIC, such as "eno1".
that's it. that's the whole vibe check. you hand it a card name, it tells you if that card is up. iconic, no notes 🎀
💀 RETURN VALUE 💀
- On success, the Up status returns
1and the Down status returns0. - On error, return
-1.
ngl bestie, -1 means something went wrong — don't go reading it as "extra down" or anything 😭
🔥 EXAMPLES 🔥
#include "libkync.h"
#include <stdio.h>
#include <stdlib.h>
int main()
{
char **cards = kdk_nc_get_cardlist();
size_t index = 0;
printf("所有网卡:\n");
while (cards[index])
{
char *mac = kdk_nc_get_phymac(cards[index]);
char *ipv4 = kdk_nc_get_private_ipv4(cards[index]);
char *ipv6 = kdk_nc_get_private_ipv6(cards[index]);
char *driver = kdk_nc_get_driver(cards[index]);
char vendor[256] = " ", product[256] = " ";
kdk_nc_get_vendor_and_product(cards[index], vendor, product);
printf("Card %zd: %sStatus: %sMac: %sIPv4: %sIPv6: %s Vendor: %s Product: %s Type: %s driver: %s\n",
index + 1, cards[index], kdk_nc_is_up(cards[index]) == 1 ? "Up" : "Down",
mac, ipv4, ipv6, vendor, product,
kdk_nc_is_wireless(cards[index]) ? "wireless" : "ethernet", driver);
char **list4 = kdk_nc_get_ipv4(cards[index]);
int i = 0;
printf("AllIpV4: ");
while (list4 && list4[i])
{
printf("%s", list4[i++]);
}
printf("\n");
char **list6 = kdk_nc_get_ipv6(cards[index]);
printf("AllIpV6: ");
i = 0;
while (list6 && list6[i])
{
printf("%s", list6[i++]);
}
printf("\n");
free(mac);
free(ipv4);
free(ipv6);
free(list4);
free(list6);
free(driver);
index++;
}
kdk_nc_freeall(cards);
char **upcards = kdk_nc_get_upcards();
index = 0;
printf("工作网卡:\n");
while (upcards[index])
{
printf("Card %zd: %s\n", index + 1, upcards[index]);
index++;
}
kdk_nc_freeall(upcards);
return 0;
}
see how kdk_nc_is_up(cards[index]) == 1 ? "Up" : "Down" is just vibing right there in the middle of the printf? that's our girl doing her one job and doing it flawlessly ✨ and yes, we free everything — memory hygiene is self care fr fr 🧚
👑 CONFORMING TO 👑
These functions are as per the withdrawn POSIX.1e draft specification.
The following functions are Linux extensions: kdk_nc_get_cardlist(), kdk_nc_get_upcards(), kdk_nc_get_phymac(), kdk_nc_get_private_ipv4(), kdk_nc_get_ipv4(), kdk_nc_get_private_ipv6(), kdk_nc_get_ipv6(), kdk_nc_is_wireless(), kdk_nc_get_vendor_and_product(), kdk_nc_get_driver(), and kdk_nc_freeall().
not me reminding you that POSIX.1e is withdrawn — it's giving retro, it's giving archive-core, we still stan 🫶
🌈 SEE ALSO 🌈
kdk_nc_get_cardlist(3)kdk_nc_get_upcards(3)kdk_nc_get_phymac(3)kdk_nc_get_private_ipv4(3)kdk_nc_get_ipv4(3)kdk_nc_get_private_ipv6(3)kdk_nc_get_ipv6(3)kdk_nc_is_wireless(3)kdk_nc_get_vendor_and_product(3)kdk_nc_get_driver(3)kdk_nc_freeall(3)
and also, like, kdk_nc_freeall(3) again because she's the moment 💅
okay that's the whole page bestie, go check if ur eno1 is up, love u, bye 👑💖
this has been a Linux Programmer's Manual moment, dated Fri Aug 25 2023, filed under KDK_NC_IS_UP(3) — periodt ✨
📦 where this page comes from
- arch rolling: libkysdk-system 3.0.1.4-1 · LGPL-3.0-or-later AND LGPL-2.1-only OR LGPL-3.0-only AND LGPL-2.1-only WITH Qt-LGPL-exception-1.1 OR LGPL-3.0-only WITH Qt-LGPL-exception-1.1 AND MIT
- ubuntu resolute: libkysdk-system-dev 3.0.1.2-0ubuntu1 · LGPL-3.0-only
- ubuntu stonking: libkysdk-system-dev 3.0.1.3-0ubuntu1 · LGPL-3.0-or-later
- 💖 girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms