<html lang="en">
<head>
<title>Argp Help Filter Keys - The GNU C Library</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="The GNU C Library">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Argp-Help-Filtering.html#Argp-Help-Filtering" title="Argp Help Filtering">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This file documents the GNU C library.

This is Edition 0.12, last updated 2007-10-27,
of `The GNU C Library Reference Manual', for version
2.8 (Sourcery G++ Lite 2011.03-41).

Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002,
2003, 2007, 2008, 2010 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``Free Software Needs Free Documentation''
and ``GNU Lesser General Public License'', the Front-Cover texts being
``A GNU Manual'', and with the Back-Cover Texts as in (a) below.  A
copy of the license is included in the section entitled "GNU Free
Documentation License".

(a) The FSF's Back-Cover Text is: ``You have the freedom to
copy and modify this GNU manual.  Buying copies from the FSF
supports it in developing GNU and promoting software freedom.''-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
  pre.display { font-family:inherit }
  pre.format  { font-family:inherit }
  pre.smalldisplay { font-family:inherit; font-size:smaller }
  pre.smallformat  { font-family:inherit; font-size:smaller }
  pre.smallexample { font-size:smaller }
  pre.smalllisp    { font-size:smaller }
  span.sc    { font-variant:small-caps }
  span.roman { font-family:serif; font-weight:normal; } 
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
--></style>
<link rel="stylesheet" type="text/css" href="../cs.css">
</head>
<body>
<div class="node">
<a name="Argp-Help-Filter-Keys"></a>
<p>
Up:&nbsp;<a rel="up" accesskey="u" href="Argp-Help-Filtering.html#Argp-Help-Filtering">Argp Help Filtering</a>
<hr>
</div>

<h5 class="subsubsection">25.3.8.1 Special Keys for Argp Help Filter Functions</h5>

<p>The following special values may be passed to an argp help filter
function as the first argument in addition to key values for user
options.  They specify which help text the <var>text</var> argument contains:

     <dl>
<!-- argp.h -->
<!-- GNU -->
<dt><code>ARGP_KEY_HELP_PRE_DOC</code><a name="index-ARGP_005fKEY_005fHELP_005fPRE_005fDOC-3075"></a><dd>The help text preceding options.

     <!-- argp.h -->
     <!-- GNU -->
     <br><dt><code>ARGP_KEY_HELP_POST_DOC</code><a name="index-ARGP_005fKEY_005fHELP_005fPOST_005fDOC-3076"></a><dd>The help text following options.

     <!-- argp.h -->
     <!-- GNU -->
     <br><dt><code>ARGP_KEY_HELP_HEADER</code><a name="index-ARGP_005fKEY_005fHELP_005fHEADER-3077"></a><dd>The option header string.

     <!-- argp.h -->
     <!-- GNU -->
     <br><dt><code>ARGP_KEY_HELP_EXTRA</code><a name="index-ARGP_005fKEY_005fHELP_005fEXTRA-3078"></a><dd>This is used after all other documentation; <var>text</var> is zero for this key.

     <!-- argp.h -->
     <!-- GNU -->
     <br><dt><code>ARGP_KEY_HELP_DUP_ARGS_NOTE</code><a name="index-ARGP_005fKEY_005fHELP_005fDUP_005fARGS_005fNOTE-3079"></a><dd>The explanatory note printed when duplicate option arguments have been suppressed.

     <!-- argp.h -->
     <!-- GNU -->
     <br><dt><code>ARGP_KEY_HELP_ARGS_DOC</code><a name="index-ARGP_005fKEY_005fHELP_005fARGS_005fDOC-3080"></a><dd>The argument doc string; formally the <code>args_doc</code> field from the argp parser.  See <a href="Argp-Parsers.html#Argp-Parsers">Argp Parsers</a>. 
</dl>

   </body></html>

