aboutsummaryrefslogtreecommitdiffstats
path: root/roms/SLOF/lib/libnet/pxelinux.h
blob: 0514d0d94c86d964320963d5b385d0b6214a7314 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/*****************************************************************************
 * Definitions for pxelinux-style config file support
 *
 * Copyright 2018 Red Hat, Inc.
 *
 * This program and the accompanying materials
 * are made available under the terms of the BSD License
 * which accompanies this distribution, and is available at
 * http://www.opensource.org/licenses/bsd-license.php
 *
 * Contributors:
 *     Thomas Huth, Red Hat Inc. - initial implementation
 *****************************************************************************/

#ifndef LIBNET_PXELINUX_H
#define LIBNET_PXELINUX_H

/* This structure holds the data from one pxelinux.cfg file entry */
struct pl_cfg_entry {
    const char *label;
    const char *kernel;
    const char *initrd;
    const char *append;
};

int pxelinux_parse_cfg(char *cfg, int cfgsize, struct pl_cfg_entry *entries,
                       int max_entries, int *def_ent);
int pxelinux_load_parse_cfg(filename_ip_t *fn_ip, uint8_t *mac, const char *uuid,
                            int retries, char *cfgbuf, int cfgsize,
                            struct pl_cfg_entry *entries,
                            int max_entries, int *def_ent);

#endif