optionSaveFile(3) Programmer's Manual optionSaveFile(3)

# [NAME](#NAME)

optionSaveFile - saves the option state to a file

# [SYNOPSIS](#SYNOPSIS)

#include &lt;*your-opts.h*&gt;  
cc \[...] -o outfile infile.c -l**opts** \[...]

void **optionSaveFile**(tOptions * *opts*);

# [DESCRIPTION](#DESCRIPTION)

This routine will save the state of option processing to a file. The name of that file can be specified with the argument to the **--save-opts** option, or by appending the **rcfile** attribute to the last **homerc** attribute. If no **rcfile** attribute was specified, it will default to **.programnamerc. If you wish to specify another** *file, you should invoke the SET\_OPT\_SAVE\_OPTS(filename) macro.*

The recommend usage is as follows:

```


    optionProcess(&progOptions, argc, argv);


    if (i_want_a_non_standard_place_for_this)


    SET_OPT_SAVE_OPTS("myfilename");


    optionSaveFile(&progOptions);
```

[*opts*](#opts)

program options descriptor

# [ERRORS](#ERRORS)

If no **homerc** file was specified, this routine will silently return and do nothing. If the output file cannot be created or updated, a message will be printed to **stderr** and the routine will return.

# [SEE ALSO](#SEE_ALSO)

The *info* documentation for the -l*opts* library.  
[ao\_string\_tokenize(3)](/man/enterprise-packages/autogen/ao_string_tokenize.3), [configFileLoad(3)](/man/enterprise-packages/autogen/configFileLoad.3), [optionFileLoad(3)](/man/enterprise-packages/autogen/optionFileLoad.3), [optionFindNextValue(3)](/man/enterprise-packages/autogen/optionFindNextValue.3), [optionFindValue(3)](/man/enterprise-packages/autogen/optionFindValue.3), [optionFree(3)](/man/enterprise-packages/autogen/optionFree.3), [optionGetValue(3)](/man/enterprise-packages/autogen/optionGetValue.3), [optionLoadLine(3)](/man/enterprise-packages/autogen/optionLoadLine.3), [optionMemberList(3)](/man/enterprise-packages/autogen/optionMemberList.3), [optionNextValue(3)](/man/enterprise-packages/autogen/optionNextValue.3), [optionOnlyUsage(3)](/man/enterprise-packages/autogen/optionOnlyUsage.3), [optionPrintVersion(3)](/man/enterprise-packages/autogen/optionPrintVersion.3), [optionPrintVersionAndReturn(3)](/man/enterprise-packages/autogen/optionPrintVersionAndReturn.3), [optionProcess(3)](/man/enterprise-packages/autogen/optionProcess.3), [optionRestore(3)](/man/enterprise-packages/autogen/optionRestore.3), [optionSaveState(3)](/man/enterprise-packages/autogen/optionSaveState.3), [optionUnloadNested(3)](/man/enterprise-packages/autogen/optionUnloadNested.3), [optionVersion(3)](/man/enterprise-packages/autogen/optionVersion.3), [strequate(3)](/man/enterprise-packages/autogen/strequate.3), [streqvcmp(3)](/man/enterprise-packages/autogen/streqvcmp.3), [streqvmap(3)](/man/enterprise-packages/autogen/streqvmap.3), [strneqvcmp(3)](/man/enterprise-packages/autogen/strneqvcmp.3), [strtransform(3)](/man/enterprise-packages/autogen/strtransform.3),

2026-08-29

---

Document: optionSaveFile(3) from autogen 5.18.16-r5 (Chainguard OS)
Source: https://git.savannah.gnu.org/git/autogen.git
