NAME
    Net::ISC::DHCPd - Interacts with ISC DHCPd

VERSION
    0.03

SYNOPSIS
     my $dhcpd = Net::ISC::DHCPd->new(
                     config => { file => "path/to/config" },
                     leases => { file => "path/to/leases" },
                     omapi => { ... },
                 );

    See tests for more documentation.

OBJECT ATTRIBUTES
  config
     $config_obj = $self->config
     $bool = $self->has_config;

    Instance of Net::ISC::DHCPd::Config class.

  leases
     $leases_obj = $self->leases
     $bool = $self->has_leases;

    Instance of Net::ISC::DHCPd::Leases class.

  omapi
     $omapi_obj = $self->omapi;
     $bool = $self->has_omapi;

    Instance of Net::ISC::DHCPd::OMAPI class.

  binary
     $path_to_binary = $self->binary;

    Default: "dhcpd3"

  pidfile
     $path_to_pidfile = $self->pidfile;

    Default: /var/run/dhcp3-server/dhcpd.pid

  process
     $proc_obj = $self->process;
     $self->process($proc_obj);
     $self->process(\%args);
     $self->has_process;
     $self->clear_process;

    The object holding the dhcpd process.

  errstr
     $string = $self->errstr;

    Holds the last know error.

METHODS
  start
     $bool = $self->start($args);

    Will start the dhcpd server, as long as there is no existing process.

    $args:

     {
       user       || getpwuid $<
       group      || getgrgid $<
       interfaces || ""
     }

    Returns:

     1     => OK
     0     => Already running
     undef => Failed. Check errstr()

    TODO: Enable it to start the server as a differnet user/group.

  stop
     $bool = $self->stop;

    Return:

     1:     OK
     undef: Failed. Check errstr()

  restart
     $bool = $self->restart;

    Return:

     1     => OK
     undef => Failed. Check errstr()

  status
     $string = $self->status;

    Returns the status of the DHCPd server:

     stopped
     running

  test
     $bool = $self->test("config");
     $bool = $self->test("leases");

    Will test either config or leases file.

     1:     OK
     undef: Failed. Check errstr()

BUGS
    Please report any bugs or feature requests to "bug-net-isc-dhcpd at
    rt.cpan.org", or through the web interface at
    <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Net-ISC-DHCPd>. I will
    be notified, and then you'll automatically be notified of progress on
    your bug as I make changes.

COPYRIGHT & LICENSE
    Copyright 2007 Jan Henning Thorsen, all rights reserved.

    This program is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.

CONTRIBUTORS
    Nito Martinez

AUTHOR
    Jan Henning Thorsen, "<jhthorsen at cpan.org>"

