abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 15:22 | IT novinky

    Eric Lengyel dobrovolně uvolnil jako volné dílo svůj patentovaný algoritmus Slug. Algoritmus vykresluje text a vektorovou grafiku na GPU přímo z dat Bézierových křivek, aniž by využíval texturové mapy obsahující jakékoli předem vypočítané nebo uložené obrázky a počítá přesné pokrytí pro ostré a škálovatelné zobrazení písma, referenční ukázka implementace v HLSL shaderech je na GitHubu. Slug je volným dílem od 17. března letošního

    … více »
    NUKE GAZA! 🎆 | Komentářů: 0
    včera 15:11 | Zajímavý projekt

    Sashiko (GitHub) je open source automatizovaný systém pro revizi kódu linuxového jádra. Monitoruje veřejné mailing listy a hodnotí navrhované změny pomocí umělé inteligence. Výpočetní zdroje a LLM tokeny poskytuje Google.

    Ladislav Hagara | Komentářů: 10
    včera 04:44 | Zajímavý software

    Cambalache, tj. RAD (rapid application development) nástroj pro GTK 4 a GTK 3, dospěl po pěti letech vývoje do verze 1.0. Instalovat jej lze i z Flathubu.

    Ladislav Hagara | Komentářů: 0
    20.3. 14:55 | Nová verze

    KiCad (Wikipedie), sada svobodných softwarových nástrojů pro počítačový návrh elektronických zařízení (EDA), byl vydán v nové major verzi 10.0.0 (𝕏). Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    20.3. 13:22 | IT novinky

    Letošní Turingovou cenu (2025 ACM A.M. Turing Award, Nobelova cena informatiky) získali Charles H. Bennett a Gilles Brassard za základní přínosy do oboru kvantové informatiky, které převrátily pojetí bezpečné neprolomitelné komunikace a výpočetní techniky. Jejich protokol BB84 z roku 1984 umožnil fyzikálně zaručený bezpečný přenos šifrovacích klíčů, zatímco jejich práce o kvantové teleportaci položila teoretické základy pro budoucí kvantový internet. Jejich práce spojila fyziku s informatikou a ovlivnila celou generaci vědců.

    Ladislav Hagara | Komentářů: 16
    20.3. 04:44 | Zajímavý článek

    Firefox 149 dostupný od 24. března přinese bezplatnou vestavěnou VPN s 50 GB přenesených dat měsíčně (s CZ a SK se zatím nepočítá) a zobrazení dvou webových stránek vedle sebe v jednom panelu (split view). Firefox Labs 149 umožní přidat poznámky k panelům (tab notes, videoukázka).

    Ladislav Hagara | Komentářů: 2
    20.3. 00:33 | Nová verze

    Byla vydána nová stabilní verze 7.9 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 146. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    20.3. 00:11 | Zajímavý software

    Dle plánu byla vydána Opera GX pro Linux. Ke stažení je .deb i .rpm. V plánu je flatpak. Opera GX je webový prohlížeč zaměřený na hráče počítačových her.

    Ladislav Hagara | Komentářů: 7
    19.3. 19:22 | Nová verze

    GNUnet (Wikipedie) byl vydán v nové major verzi 0.27.0. Jedná se o framework pro decentralizované peer-to-peer síťování, na kterém je postavena řada aplikací.

    Ladislav Hagara | Komentářů: 0
    19.3. 04:00 | Bezpečnostní upozornění

    Byly publikovány informace (technické detaily) o bezpečnostním problému Snapu. Jedná se o CVE-2026-3888. Neprivilegovaný lokální uživatel může s využitím snap-confine a systemd-tmpfiles získat práva roota.

    Ladislav Hagara | Komentářů: 4
    Které desktopové prostředí na Linuxu používáte?
     (15%)
     (7%)
     (1%)
     (12%)
     (29%)
     (2%)
     (5%)
     (1%)
     (13%)
     (24%)
    Celkem 1130 hlasů
     Komentářů: 27, poslední 17.3. 19:26
    Rozcestník

    Dotaz: inet_pton IPv4/IPv6

    9.2.2012 10:16 miso | skóre: 36 | blog: iSCSI_initiator_howto | Praha
    inet_pton IPv4/IPv6
    Přečteno: 249×
    Zdravim,

    rad by som dosiahol nasledovne:

    vstup: IPv4 adresa (10.20.30.40)

    vystup: IPv4 adresa v tvare IPv6 (::ffff:10.20.30.40) tak, ako je uvedene v priklade napr. tu

    Je to vobec mozne pomocou funkcie inet_pton? Zaujima ma to ciste zo zvedavosti, pokial to nejde, workaround nepotrebujem.

    Nasledujuci kod vypise IPv4 adresu v "klasickom" IPv6 tvare (xxxx:xxxx:xxxx:xxxx:xxxx:xxxx), teda nezmyselnu adresu:
    #include < sys/socket.h >
    #include < netinet/in.h >
    #include < arpa/inet.h >
    #include < stdio.h >
    #include < stdlib.h >
    
    int main(int argc, char *argv[])
    {
        struct in_addr addr;
        unsigned char buf[sizeof(struct in6_addr)];
        char str[INET6_ADDRSTRLEN];
    
        if (argc<2)
        {
            fprintf(stderr, "IPv4 address required as an argument.\n");
            exit(EXIT_FAILURE);
        }
        if (inet_aton(argv[1], &addr) == 0)
        {
            perror("inet_aton");
            exit(EXIT_FAILURE);
        }
        if (inet_pton(AF_INET, argv[1], buf) != 1)
        {
            perror("inet_pton");
            exit(EXIT_FAILURE);
        }
        if (inet_ntop(AF_INET6, buf, str, INET6_ADDRSTRLEN)==NULL)
        {
            perror("inet_ntop");
            exit(EXIT_FAILURE);
        }
        printf("%s\n", str);
        exit(EXIT_SUCCESS);
    }
    
    Project Satan infects Calculon with Werecar virus

    Řešení dotazu:


    Odpovědi

    Řešení 1× (miso (tazatel))
    9.2.2012 14:08 miso | skóre: 36 | blog: iSCSI_initiator_howto | Praha
    Rozbalit Rozbalit vše Re: inet_pton IPv4/IPv6
    Vyriesil som to nasledovne:
    #define _GNU_SOURCE
    #include < string.h>
    #include < sys/socket.h>
    #include < netinet/in.h>
    #include < arpa/inet.h>
    #include < stdio.h>
    #include < stdlib.h>
    
    #define IPV6_ADDRESS_SIZE sizeof(struct in6_addr)
    
    int main(int argc, char *argv[])
    {
        struct in_addr addr;
        unsigned char buf_v4[sizeof(struct in_addr)];
        unsigned char buf_v6[IPV6_ADDRESS_SIZE] = {0};
        unsigned char str[INET6_ADDRSTRLEN];
    
        if (argc<2)
        {
            fprintf(stderr, "IPv4 address required as an argument.\n");
            exit(EXIT_FAILURE);
        }
    
        if (inet_aton(argv[1], &addr) == 0)
        {
            perror("inet_aton");
            exit(EXIT_FAILURE);
        }
    
        if (inet_pton(AF_INET, argv[1], buf_v4) != 1)
        {
            perror("inet_pton");
            exit(EXIT_FAILURE);
        }
    
        *(buf_v6 + IPV6_ADDRESS_SIZE - 5) = 255;
        *(buf_v6 + IPV6_ADDRESS_SIZE - 6) = 255;
        mempcpy(buf_v6 + IPV6_ADDRESS_SIZE - 4, buf_v4, 4);
    
        if (inet_ntop(AF_INET6, buf_v6, str, INET6_ADDRSTRLEN)==NULL)
        {
            perror("inet_ntop");
            exit(EXIT_FAILURE);
        }
    
        printf("%s\n", str);
        exit(EXIT_SUCCESS);
    }
    
    Project Satan infects Calculon with Werecar virus

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.