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