Sha256: d92f85aa36689c4d80f43108d8135178ab5d05ed79dfcc68b84c3e9fdfe91388

Contents?: true

Size: 812 Bytes

Versions: 16

Compression:

Stored size: 812 Bytes

Contents

/**
 * @file
 * Declares the scoped ifaddrs resource.
 */
#pragma once

#include <leatherman/util/scoped_resource.hpp>
#include <ifaddrs.h>

namespace facter { namespace util { namespace bsd {

    /**
     * Represents a scoped ifaddrs pointer that automatically is freed when it goes out of scope.
    */
    struct scoped_ifaddrs : leatherman::util::scoped_resource<ifaddrs*>
    {
        /**
         * Default constructor.
         * This constructor will handle calling getifaddrs.
         */
        scoped_ifaddrs();

        /**
         * Constructs a scoped_descriptor.
         * @param addrs The ifaddrs pointer to free when destroyed
         */
        explicit scoped_ifaddrs(ifaddrs* addrs);

     private:
        static void free(ifaddrs* addrs);
    };

}}}  // namespace facter::util::bsd

Version data entries

16 entries across 16 versions & 2 rubygems

Version Path
facter-3.12.2.cfacter.20181217 ext/facter/facter/lib/inc/internal/util/bsd/scoped_ifaddrs.hpp
facter-3.12.1.cfacter.20181031 ext/facter/facter/lib/inc/internal/util/bsd/scoped_ifaddrs.hpp
facter-3.11.6.cfacter.20181031 ext/facter/facter/lib/inc/internal/util/bsd/scoped_ifaddrs.hpp
facter-3.12.1.cfacter.20181023 ext/facter/facter/lib/inc/internal/util/bsd/scoped_ifaddrs.hpp
facter-3.11.5.cfacter.20181022 ext/facter/facter/lib/inc/internal/util/bsd/scoped_ifaddrs.hpp
facter-3.12.0.cfacter.20181004 ext/facter/facter/lib/inc/internal/util/bsd/scoped_ifaddrs.hpp
facter-3.12.0.cfacter.20181001 ext/facter/facter/lib/inc/internal/util/bsd/scoped_ifaddrs.hpp
facter-3.12.0.cfacter.20180918 ext/facter/facter/lib/inc/internal/util/bsd/scoped_ifaddrs.hpp
facter-3.11.4.cfacter.20180821 ext/facter/facter/lib/inc/internal/util/bsd/scoped_ifaddrs.hpp
facter-3.11.3.cfacter.20180716 ext/facter/facter/lib/inc/internal/util/bsd/scoped_ifaddrs.hpp
facter-3.11.2.cfacter.20180612 ext/facter/facter/lib/inc/internal/util/bsd/scoped_ifaddrs.hpp
facter-3.9.6.cfacter.20180612 ext/facter/facter/lib/inc/internal/util/bsd/scoped_ifaddrs.hpp
facter-3.11.2.cfacter.20180606 ext/facter/facter/lib/inc/internal/util/bsd/scoped_ifaddrs.hpp
facter-3.9.6.cfacter.20180606 ext/facter/facter/lib/inc/internal/util/bsd/scoped_ifaddrs.hpp
facter-3.11.0.cfacter.20180319 ext/facter/facter/lib/inc/internal/util/bsd/scoped_ifaddrs.hpp
cfacter-3.11.0.rc.20180314 ext/facter/facter/lib/inc/internal/util/bsd/scoped_ifaddrs.hpp