For some odd reason, today was the day when I woke up and continued working on libICMP. It’s now almost seven years since I first adopted Tim Lawless’ public domain version, and today I picked up where I left off and started refactoring and cleaning up.

Example:

    #include "icmp/icmp.h"
    
    int main(int argc, char *argv[])
    {
        char *host = "localhost";
        struct libicmp *obj;
        
        if (argc >= 2)
                host = argv[1];

        if (!(obj = icmp_open(host, 0x1337, 0)))
                return 1;
        
        return icmp_ping(obj, 0, 0) == -1;
    }

libICMP is nowhere near as fancy as liboping and is only slightly smaller with a more liberal license (ISC). The first release is however available from GitHub. Pull requests are as usual most welcome! :smiley: