Using libbsd dhcpcd options

Chris Johns chrisj at rtems.org
Fri Aug 20 00:02:04 UTC 2021


On 20/8/21 1:45 am, junkes wrote:
> Hallo Peter,
> I do not know if this is best practice but I run the following code:
> 
> static void
> default_network_dhcpcd(void)
> {
>     static const char default_cfg[] = "clientid test client\n";
>     rtems_status_code sc;
>     int fd;
>     int rv;
>     ssize_t n;
>     struct stat statbuf;
> 
>     if (ENOENT == stat("/etc/dhcpcd.conf", &statbuf)) {
>         fd = open("/etc/dhcpcd.conf", O_CREAT | O_WRONLY,
>                   S_IRWXU | S_IRWXG | S_IRWXO);
>         assert(fd >= 0);
> 
>         n = write(fd, default_cfg, sizeof(default_cfg) - 1);
>         assert(n == (ssize_t) sizeof(default_cfg) - 1);
> 
>         static const char fhi_cfg[] =
>             "nodhcp6\n"
>             "ipv4only\n"
>             "option ntp_servers\n"
>             "option rtems_cmdline\n"
>             "option tftp_server_name\n"
>             "option bootfile_name\n"
>             "define 129 string rtems_cmdline\n"
>             "timeout 0";
> 
>         n = write(fd, fhi_cfg, sizeof(fhi_cfg) - 1);
>         assert(n == (ssize_t) sizeof(fhi_cfg) - 1);
> 
>         rv = close(fd);
>         assert(rv == 0);
>     }
> 
>     sc = rtems_dhcpcd_start(NULL);
>     assert(sc == RTEMS_SUCCESSFUL);
> }
Hienz, this is a good solution and using a file best solution.

Chris


More information about the devel mailing list