KDK_NET_GET_UP_PORT(3)

NAME
kdk_net_get_up_port - 获取所有UP状态的端口号

SYNOPSIS
#include <libkynetinfo.h>

extern char **kdk_net_get_up_port();

Link with -lkynetinfo.

Detailed Description
The main function of the interface is to obtain the port number for all UP statuses.

RETURN VALUE
On success, returns the port number for all UP statuses of type char **, ending with a NULL character; Generated by alloc and needs to be recycled by kdk_net_freeall

On error, return NULL.

EXAMPLES
    #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 %s, tmp->name, tmp->addr);
            tmp = tmp->next;
        }
        kdk_net_free_route(list);
        if (argc < 2)
            printf("please input test port num);
        else
            printf("port:%s's state %d, argv[1], kdk_net_get_port_stat(atoi(argv[1])));

        pChain chain = kdk_net_get_iptable_rules();
        pChain tmpchain = chain;
        while(tmpchain)
        {
            printf("Chain: %s	police: %s,tmpchain->total,tmpchain->policy);
            pChainData tmpData = tmpchain->data;
            if(tmpData)
                printf("target: %s	prot: %s	opt: %s	source: %s	destination: %s	option: %s,tmpData->target,tmpData->prot,tmpData->opt,
                                    tmpData->source,tmpData->destination,tmpData->option);
            printf(");
            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(");

        char mask[32] = " ";
        kdk_net_get_netmask("enaftgm1i0", mask);
        printf("mask = %s, mask);
        char **port = kdk_net_get_proc_port();
        size_t index = 0;
        while(port[index])
        {
            printf("No.%ld, port = %s, index+1, port[index]);
            index++;
        }
        kdk_net_freeall(port);
        port = kdk_net_get_up_port();
        index = 0;
        while(port[index])
        {
            printf("No.%ld, port = %s, index+1, port[index]);
            index++;
        }
        kdk_net_freeall(port);
        char *hosts = kdk_net_get_hosts();
        if (hosts != NULL)
        {
            printf("hosts = %s, hosts);
            free(hosts);
        }
        char *domain = kdk_net_get_hosts_domain();
        if (domain != NULL)
        {
            printf("domain = %s, domain);
            free(domain);
        }
        char **resolv = kdk_net_get_resolv_conf();
        index = 0;
        while(resolv[index])
        {
            printf("No.%ld, resolv = %s, index+1, resolv[index]);
            index++;
        }
        kdk_net_freeall(resolv);
        return 0;
    }

CONFORMING TO
These functions are as per the withdrawn POSIX.1e draft specification. The following functions are Linux extensions: kdk_net_get_multiple_port_stat(), kdk_net_get_port_stat(), kdk_net_get_route(), kdk_net_get_iptable_rules(), kdk_net_free_route(), kdk_net_free_chain(), kdk_net_get_netmask(), kdk_net_get_proc_port(), kdk_net_get_hosts(), kdk_net_get_hosts_domain(), kdk_net_get_resolv_conf() and kdk_net_freeall().

SEE ALSO
kdk_net_get_multiple_port_stat(3), kdk_net_get_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_netmask(), kdk_net_get_proc_port(3), kdk_net_get_hosts(3), kdk_net_get_hosts_domain(3), kdk_net_get_resolv_conf(3) and kdk_net_freeall(3).