This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.
This package provides a partial binding to the Win32 DHCP Server Management
API. Its purpose is to query and control a Microsoft DHCP server. Enough
functionality is defined so so that Ipv4 client lease and reservation
records can be manipulated programmatically._Only 32-bit versions of GHC are
supported at this time._
Here are a few notes on the required environment:
Only 32-bit executables are supported. This is mainly because pointers
are assumed to be 4 bytes wide in a few places. Support for 64-bit
executables may be added in the future.
All library calls should be supported on Windows 7 or above.
Simple Example and Usage
-- Print all MAC addresses with an active client lease
module Main where
import Data.Ip
import Data.Mac
import qualified Data.Text.IO as T
import System.Win32.DHCP
main :: IO ()
main = do
api <- loadDHCP
clients <- enumClients api context
let macs = map (showMac ":" . clientHardwareAddress) clients
mapM_ T.putStrLn macs
where
Right subnet = readIp "192.168.1.0"
context = Context "192.168.1.5" subnet