---
name: "list_config_entries"
section: "3alleg"
platform: "linux"
package: "liballegro-doc"
version: "2:4.2.2-2.2"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/list_config_entries"
---

# list\_config\_entries(3alleg)

Lists the names of all entries in a config section Allegro game programming library.

## NAME

list\_config\_entries - Lists the names of all entries in a config section Allegro game programming library.

## SYNOPSIS

**#include \<allegro.h\>**

**int list\_config\_entries(const char \*section, const char \*\*\*names);**

## DESCRIPTION

This function can be used to get a list of all entries in the given config section. The names parameter is a pointer to an array of strings. If it points to a NULL pointer, the list will be allocated, else it will be re-allocated. You should free the list again with free\_config\_entries if you don't need it anymore, or you can pass it again to list\_config\_entries and the memory will be re-used. See the following example for how you can use it, it will print out the complete contents of the current configuration:

```
   int i, n;
   char const **sections = NULL;
   char const **entries = NULL;
   /* List all entries not in any section. */
   n = list_config_entries(NULL, &entries);
   for (i = 0; i
      printf(" %s=\"%s\"\n", entries[i], get_config_string(
             NULL, entries[i], "-"));
   /* List all sections (and entries in them). */
   n = list_config_sections(&sections);
   /* loop through all section names */
   for (i = 0; i
   {
      int j, m;
      printf("%s\n", sections[i]);
      m = list_config_entries(sections[i], &entries);
      /* loop through all entries in the section */
      for (j = 0; j
      {
          printf(" %s=\"%s\"\n", entries[j], get_config_string(
             sections[i], entries[j], "-"));
      }
   }
   /* It is enough to free the arrays once at the end. */
   free_config_entries(&sections);
   free_config_entries(&entries);
```

## RETURN VALUE

Returns the number of valid strings in the names array.

## SEE ALSO

[**set\_config\_file**(3alleg)](/set_config_file/3alleg.md), [**get\_config\_string**(3alleg)](/get_config_string/3alleg.md), [**list\_config\_sections**(3alleg)](/list_config_sections/3alleg.md), [**free\_config\_entries**(3alleg)](/free_config_entries/3alleg.md)
