Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
rte_cfgfile.h(3)		      DPDK			rte_cfgfile.h(3)

NAME
     rte_cfgfile.h

SYNOPSIS
     #include <stddef.h>

   Data Structures
     struct rte_cfgfile_entry
     struct rte_cfgfile_parameters

   Macros
     #define CFG_DEFAULT_COMMENT_CHARACTER   ';'

   Enumerations

	 enum { CFG_FLAG_GLOBAL_SECTION = 1, CFG_FLAG_EMPTY_VALUES = 2 }

   Functions
     struct rte_cfgfile * rte_cfgfile_load (const char *filename, int flags)
     struct  rte_cfgfile  *  rte_cfgfile_load_with_params (const char *filename,
	 int flags, const struct rte_cfgfile_parameters *params)
     struct rte_cfgfile * rte_cfgfile_create (int flags)
     int rte_cfgfile_add_section (struct rte_cfgfile *cfg, const char  *section-
	 name)
     int  rte_cfgfile_add_entry  (struct  rte_cfgfile *cfg, const char *section-
	 name, const char *entryname, const char *entryvalue)
     int rte_cfgfile_set_entry (struct rte_cfgfile *cfg,  const  char  *section-
	 name, const char *entryname, const char *entryvalue)
     int rte_cfgfile_save (struct rte_cfgfile *cfg, const char *filename)
     int   rte_cfgfile_num_sections   (struct	rte_cfgfile   *cfg,  const  char
	 *sec_name, size_t length)
     int rte_cfgfile_sections (struct rte_cfgfile *cfg,  char  *sections[],  int
	 max_sections)
     int  rte_cfgfile_has_section (struct rte_cfgfile *cfg, const char *section-
	 name)
     int rte_cfgfile_section_num_entries (struct rte_cfgfile  *cfg,  const  char
	 *sectionname)
     int rte_cfgfile_section_num_entries_by_index (struct rte_cfgfile *cfg, char
	 *sectionname, int index)
     int  rte_cfgfile_section_entries (struct rte_cfgfile *cfg, const char *sec-
	 tionname, struct rte_cfgfile_entry *entries, int max_entries)
     int rte_cfgfile_section_entries_by_index (struct rte_cfgfile *cfg, int  in-
	 dex,  char *sectionname, struct rte_cfgfile_entry *entries, int max_en-
	 tries)
     const char * rte_cfgfile_get_entry (struct  rte_cfgfile  *cfg,  const  char
	 *sectionname, const char *entryname)
     int  rte_cfgfile_has_entry  (struct  rte_cfgfile *cfg, const char *section-
	 name, const char *entryname)
     int rte_cfgfile_close (struct rte_cfgfile *cfg)

Detailed Description
     Configuration File management.

     This library allows reading application defined  parameters  from	standard
     format configuration file.

     Definition in file rte_cfgfile.h.

Macro Definition Documentation
   #define CFG_DEFAULT_COMMENT_CHARACTER   ';'
     Defines the default comment character used for parsing config files.

     Definition at line 63 of file rte_cfgfile.h.

Enumeration Type Documentation
   anonymous enum
     cfgfile load operation flags

     Enumerator

     CFG_FLAG_GLOBAL_SECTION
	    Indicates  that the file supports key value entries before the first
	    defined section. These entries can be accessed in the 'GLOBAL'  sec-
	    tion.

     CFG_FLAG_EMPTY_VALUES
	    Indicates  that  file supports key value entries where the value can
	    be zero length (e.g., 'key=').

     Definition at line 46 of file rte_cfgfile.h.

Function Documentation
   struct rte_cfgfile * rte_cfgfile_load (const char * filename, int flags)
     Open config file.

     Parameters
	 filename Config file name.
	 flags Config file flags.

     Returns
	 Handle to configuration file on success, NULL otherwise.

   struct rte_cfgfile * rte_cfgfile_load_with_params (const char * filename, int
     flags, const struct rte_cfgfile_parameters * params)
     Open config file with specified optional parameters.

     Parameters
	 filename Config file name
	 flags Config file flags
	 params Additional configuration attributes. Must be configured with de-
	 sired values prior to invoking this API.

     Returns
	 Handle to configuration file on success, NULL otherwise

   struct rte_cfgfile * rte_cfgfile_create (int flags)
     Create new cfgfile instance with empty sections and entries

     Parameters
	 flags

	 * CFG_FLAG_GLOBAL_SECTION Indicates that the file  supports  key  value
	   entries  before  the  first defined section. These entries can be ac-
	   cessed in the 'GLOBAL' section.

	 * CFG_FLAG_EMPTY_VALUES Indicates that file supports key value  entries
	   where the value can be zero length (e.g., 'key=').

     Returns
	 Handle to cfgfile instance on success, NULL otherwise

   int	rte_cfgfile_add_section (struct rte_cfgfile * cfg, const char * section-
     name)
     Add section in cfgfile instance.

     Parameters
	 cfg Pointer to the cfgfile structure.
	 sectionname Section name which will be add to cfgfile.

     Returns
	 0 on success, -ENOMEM if can't add section

   int rte_cfgfile_add_entry (struct rte_cfgfile * cfg, const  char  *	section-
     name, const char * entryname, const char * entryvalue)
     Add entry to specified section in cfgfile instance.

     Parameters
	 cfg Pointer to the cfgfile structure.
	 sectionname Given section name to add an entry.
	 entryname Entry name to add.
	 entryvalue Entry value to add.

     Returns
	 0 on success, -EEXIST if entry already exist, -EINVAL if bad argument

   int	rte_cfgfile_set_entry  (struct	rte_cfgfile * cfg, const char * section-
     name, const char * entryname, const char * entryvalue)
     Update value of specified entry name in given section in config file

     Parameters
	 cfg Config file
	 sectionname Section name
	 entryname Entry name to look for the value change
	 entryvalue  New  entry  value.  Can  be  also	an   empty   string   if
	 CFG_FLAG_EMPTY_VALUES = 1

     Returns
	 0 on success, -EINVAL if bad argument

   int rte_cfgfile_save (struct rte_cfgfile * cfg, const char * filename)
     Save object cfgfile to file on disc

     Parameters
	 cfg Config file structure
	 filename File name to save data

     Returns
	 0 on success, errno otherwise

   int	 rte_cfgfile_num_sections  (struct  rte_cfgfile  *  cfg,  const  char  *
     sec_name, size_t length)
     Get number of sections in config file.

     Parameters
	 cfg Config file.
	 sec_name Section name.
	 length Maximum section name length.

     Returns
	 Number of sections.

   int rte_cfgfile_sections (struct rte_cfgfile * cfg, char  *	sections[],  int
     max_sections)
     Get name of all config file sections.

     Fills  in	the array sections with the name of all the sections in the file
     (up to the number of max_sections sections).

     Parameters
	 cfg Config file.
	 sections Array containing section names  after  successful  invocation.
	 Each  element	of this array should be preallocated by the user with at
	 least CFG_NAME_LEN characters.
	 max_sections Maximum number of section names to be stored  in	sections
	 array.

     Returns
	 Number of populated sections names.

   int	rte_cfgfile_has_section (struct rte_cfgfile * cfg, const char * section-
     name)
     Check if given section exists in config file.

     Parameters
	 cfg Config file.
	 sectionname Section name.

     Returns
	 TRUE (value different than 0) if section exists, FALSE (value 0) other-
	 wise.

   int rte_cfgfile_section_num_entries (struct rte_cfgfile * cfg, const  char  *
     sectionname)
     Get number of entries in given config file section.

     If  multiple  sections  have  the given name, this function operates on the
     first one.

     Parameters
	 cfg Config file.
	 sectionname Section name.

     Returns
	 Number of entries in section on success, -1 otherwise.

   int rte_cfgfile_section_num_entries_by_index (struct rte_cfgfile * cfg,  char
     * sectionname, int index)
     Get number of entries in given config file section.

     The  index  of a section is the same as the index of its name in the result
     of rte_cfgfile_sections. This API can be used when there are multiple  sec-
     tions with the same name.

     Parameters
	 cfg Config file.
	 sectionname Section name.
	 index Section index.

     Returns
	 Number of entries in section on success, -1 otherwise.

   int	rte_cfgfile_section_entries (struct rte_cfgfile * cfg, const char * sec-
     tionname, struct rte_cfgfile_entry * entries, int max_entries)
     Get section entries as key-value pairs.

     If multiple sections have the given name, this  function  operates  on  the
     first one.

     Parameters
	 cfg Config file.
	 sectionname Section name.
	 entries  Pre-allocated  array of at least max_entries entries where the
	 section entries are stored as key-value pair after  successful  invoca-
	 tion.
	 max_entries  Maximum  number of section entries to be stored in entries
	 array.

     Returns
	 Number of entries populated on success, -1 otherwise.

   int rte_cfgfile_section_entries_by_index (struct rte_cfgfile * cfg,	int  in-
     dex,  char  *  sectionname, struct rte_cfgfile_entry * entries, int max_en-
     tries)
     Get section entries as key-value pairs.

     The index of a section is the same as the index of its name in  the  result
     of  rte_cfgfile_sections. This API can be used when there are multiple sec-
     tions with the same name.

     Parameters
	 cfg Config file.
	 index Section index.
	 sectionname Pre-allocated string of at  least	CFG_NAME_LEN  characters
	 where the section name is stored after successful invocation.
	 entries  Pre-allocated  array of at least max_entries entries where the
	 section entries are stored as key-value pair after  successful  invoca-
	 tion.
	 max_entries  Maximum  number of section entries to be stored in entries
	 array.

     Returns
	 Number of entries populated on success, -1 otherwise.

   const char * rte_cfgfile_get_entry (struct rte_cfgfile * cfg,  const  char  *
     sectionname, const char * entryname)
     Get value of the named entry in named config file section.

     If  multiple  sections  have  the given name, this function operates on the
     first one.

     Parameters
	 cfg Config file.
	 sectionname Section name.
	 entryname Entry name.

     Returns
	 Entry value on success, NULL otherwise.

   int rte_cfgfile_has_entry (struct rte_cfgfile * cfg, const  char  *	section-
     name, const char * entryname)
     Check if given entry exists in named config file section.

     If  multiple  sections  have  the given name, this function operates on the
     first one.

     Parameters
	 cfg Config file.
	 sectionname Section name.
	 entryname Entry name.

     Returns
	 TRUE (value different than 0) if entry exists, FALSE (value  0)  other-
	 wise.

   int rte_cfgfile_close (struct rte_cfgfile * cfg)
     Close config file.

     Parameters
	 cfg Config file.

     Returns
	 0 on success, -1 otherwise.

Author
     Generated automatically by Doxygen for DPDK from the source code.

Version 25.11.0 		 Thu Aug 27 2026		rte_cfgfile.h(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=rte_cfgfile_add_section&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help