KDK_NET_GET_PORT_STAT(3)
💖 KDK_NET_GET_PORT_STAT 💖
okay bestie, so this one lives in the Library Functions Manual, and it's literally the page for kdk_net_get_port_stat. Let's go 🫶
✨ NAME ✨
kdk_net_get_port_stat — 获取指定网络端口的状态
(that's "grab the status of the network port you point at", and yes she's serving exactly one job and doing it flawlessly 💅)
🦋 SYNOPSIS 🦋
#include <libkynetinfo.h>
extern int kdk_net_get_port_stat(int port);
Link with -lkynetinfo.
no cap, if you forget the -lkynetinfo the linker is gonna be SO dramatic about it 😭
🌸 DETAILED DESCRIPTION 🌸
So the main function of this interface is to obtain the status of the specified network port. That's the whole vibe. She's focused, she's iconic, she does not multitask.
The argument port is the port number. That's it. That's the tea 🍓
👑 RETURN VALUE 👑
On success, returns a port status of type int. Like, one of these little guys:
TCP_ESTABLISHED:0x1TCP_SYN_SENT:0x2TCP_SYN_RECV:0x3TCP_FIN_WAIT1:0x4TCP_FIN_WAIT2:0x5TCP_TIME_WAIT:0x6TCP_CLOSE:0x7TCP_CLOSE_WAIT:0x8TCP_LAST_ACL:0x9TCP_LISTEN:0xaTCP_CLOSING:0xb
On error, return -1. That's the "bestie something went wrong" signal 🙈
💜 EXAMPLES 💜
here's the full example, verbatim, not a single character changed, she's a whole main character:
#include "libkynetinfo.h"
#include "stdio.h"
#include "stdlib.h"
int main(int argc, char *argv[])
{
prouteMapList list = kdk_net_get_route(), tmp = list;
while (tmp)
{
printf("%s default route %s0, tmp->name, tmp->addr);
tmp = tmp->next;
}
kdk_net_free_route(list);
if (argc < 2)
printf("please input test port num0);
else
printf("port:%s's state %d0, argv[1], kdk_net_get_port_stat(atoi(argv[1])));
pChain chain = kdk_net_get_iptable_rules();
pChain tmpchain = chain;
while(tmpchain)
{
printf("Chain: %spolice: %s0,tmpchain->total,tmpchain->policy);
pChainData tmpData = tmpchain->data;
if(tmpData)
printf("target: %sprot: %sopt: %ssource: %sdestination: %soption: %s0,tmpData->target,tmpData->prot,tmpData->opt,
tmpData->source,tmpData->destination,tmpData->option);
printf("0);
tmpchain = tmpchain->next;
}
kdk_net_free_chain(chain);
int result[65536];
int net = kdk_net_get_multiple_port_stat(0, 1000, result);
if(net == 0)
{
size_t count = 0;
for(;count < 1000 ;count++)
{
printf("%d", result[count]);
}
}
else
printf("Failed With %d", net);
printf("0);
char mask[32] = " ";
kdk_net_get_netmask("enaftgm1i0", mask);
printf("mask = %s0, mask);
char **port = kdk_net_get_proc_port();
size_t index = 0;
while(port[index])
{
printf("No.%ld, port = %s0, index+1, port[index]);
index++;
}
kdk_net_freeall(port);
port = kdk_net_get_up_port();
index = 0;
while(port[index])
{
printf("No.%ld, port = %s0, index+1, port[index]);
index++;
}
kdk_net_freeall(port);
char *hosts = kdk_net_get_hosts();
if (hosts != NULL)
{
printf("hosts = %s0, hosts);
free(hosts);
}
char *domain = kdk_net_get_hosts_domain();
if (domain != NULL)
{
printf("domain = %s0, domain);
free(domain);
}
char **resolv = kdk_net_get_resolv_conf();
index = 0;
while(resolv[index])
{
printf("No.%ld, resolv = %s0, index+1, resolv[index]);
index++;
}
kdk_net_freeall(resolv);
return 0;
}
🌈 CONFORMING TO 🌈
These functions are as per the withdrawn POSIX.1e draft specification. (<- "withdrawn", so, vintage, kinda retro, we respect the lore 💀)
The following functions are Linux extensions:
kdk_net_get_netmask()kdk_net_get_multiple_port_stat()kdk_net_get_route()kdk_net_get_iptable_rules()kdk_net_free_route()kdk_net_free_chain()kdk_net_get_proc_port()kdk_net_get_up_port()kdk_net_get_hosts()kdk_net_get_hosts_domain()kdk_net_get_resolv_conf()kdk_net_freeall()
⭐ SEE ALSO ⭐
go read her friends, they're all slaying:
kdk_net_get_netmask(3), kdk_net_get_multiple_port_stat(3), kdk_net_get_route(3), kdk_net_get_iptable_rules(3), kdk_net_free_route(3), kdk_net_free_chain(3), kdk_net_get_up_port(3), kdk_net_get_hosts(3), kdk_net_get_hosts_domain(3), kdk_net_get_resolv_conf(3) and kdk_net_freeall(3).
okay that's the whole page bestie, every flag, every value, every line, untouched 🎀
this one came straight out of the Linux Programmer's Manual, dated Thu Sep 14 2023. mwah, go check your ports, ily, bye 👑💖✨
📦 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