popt.h   popt.h 
skipping to change at line 22 skipping to change at line 22
#include <stdio.h> /* for FILE * */ #include <stdio.h> /* for FILE * */
#define POPT_OPTION_DEPTH 10 #define POPT_OPTION_DEPTH 10
/** \ingroup popt /** \ingroup popt
* \name Arg type identifiers * \name Arg type identifiers
*/ */
/*@{*/ /*@{*/
#define POPT_ARG_NONE 0U /*!< no arg */ #define POPT_ARG_NONE 0U /*!< no arg */
#define POPT_ARG_STRING 1U /*!< arg will be saved as st ring */ #define POPT_ARG_STRING 1U /*!< arg will be saved as st ring */
#define POPT_ARG_INT 2U /*!< arg will be converted to int */ #define POPT_ARG_INT 2U /*!< arg ==> int */
#define POPT_ARG_LONG 3U /*!< arg will be converted to long * #define POPT_ARG_LONG 3U /*!< arg ==> long */
/
#define POPT_ARG_INCLUDE_TABLE 4U /*!< arg points to table */ #define POPT_ARG_INCLUDE_TABLE 4U /*!< arg points to table */
#define POPT_ARG_CALLBACK 5U /*!< table-wide callback... must be #define POPT_ARG_CALLBACK 5U /*!< table-wide callback... must be
set first in table; arg points set first in table; arg points
to callback, descrip points to to callback, descrip points to
callback data to pass */ callback data to pass */
#define POPT_ARG_INTL_DOMAIN 6U /*!< set the translation domain #define POPT_ARG_INTL_DOMAIN 6U /*!< set the translation domain
for this table and any for this table and any
included tables; arg points included tables; arg points
to the domain string */ to the domain string */
#define POPT_ARG_VAL 7U /*!< arg should take value val */ #define POPT_ARG_VAL 7U /*!< arg should take value val */
#define POPT_ARG_FLOAT 8U /*!< arg will be converted t #define POPT_ARG_FLOAT 8U /*!< arg ==> float */
o float */ #define POPT_ARG_DOUBLE 9U /*!< arg ==> double */
#define POPT_ARG_DOUBLE 9U /*!< arg will be converted t #define POPT_ARG_LONGLONG 10U /*!< arg ==> long long */
o double */
#define POPT_ARG_MAINCALL 10U /*!< return (*arg) (argc, argv) */ #define POPT_ARG_MAINCALL 16U+11U /*!< EXPERIMENTAL: return (*arg) (ar
gc, argv) */
#define POPT_ARG_ARGV 12U /*!< dupe'd arg appended to
realloc'd argv array. */
#define POPT_ARG_MASK 0x0000FFFFU #define POPT_ARG_MASK 0x0000FFFFU
/*@}*/ /*@}*/
/** \ingroup popt /** \ingroup popt
* \name Arg modifiers * \name Arg modifiers
*/ */
/*@{*/ /*@{*/
#define POPT_ARGFLAG_ONEDASH 0x80000000U /*!< allow -longoption */ #define POPT_ARGFLAG_ONEDASH 0x80000000U /*!< allow -longoption */
#define POPT_ARGFLAG_DOC_HIDDEN 0x40000000U /*!< don't show in help/usage */ #define POPT_ARGFLAG_DOC_HIDDEN 0x40000000U /*!< don't show in help/usage */
skipping to change at line 249 skipping to change at line 251
* @param options address of popt option table * @param options address of popt option table
* @param flags or'd POPT_CONTEXT_* bits * @param flags or'd POPT_CONTEXT_* bits
* @return initialized popt context * @return initialized popt context
*/ */
/*@only@*/ /*@null@*/ /*@only@*/ /*@null@*/
poptContext poptGetContext( poptContext poptGetContext(
/*@dependent@*/ /*@keep@*/ const char * name, /*@dependent@*/ /*@keep@*/ const char * name,
int argc, /*@dependent@*/ /*@keep@*/ const char ** argv, int argc, /*@dependent@*/ /*@keep@*/ const char ** argv,
/*@dependent@*/ /*@keep@*/ const struct poptOption * options , /*@dependent@*/ /*@keep@*/ const struct poptOption * options ,
unsigned int flags) unsigned int flags)
/*@*/; /*@globals internalState @*/
/*@modifies internalState @*/;
/** \ingroup popt /** \ingroup popt
* Reinitialize popt context. * Reinitialize popt context.
* @param con context * @param con context
*/ */
/*@unused@*/ /*@unused@*/
void poptResetContext(/*@null@*/poptContext con) void poptResetContext(/*@null@*/poptContext con)
/*@modifies con @*/; /*@modifies con @*/;
/** \ingroup popt /** \ingroup popt
skipping to change at line 535 skipping to change at line 538
* @param argc no. of args * @param argc no. of args
* @param argv arg vector * @param argv arg vector
* @return new argc * @return new argc
*/ */
/*@-fcnuse@*/ /*@-fcnuse@*/
int poptStrippedArgv(poptContext con, int argc, char ** argv) int poptStrippedArgv(poptContext con, int argc, char ** argv)
/*@modifies *argv @*/; /*@modifies *argv @*/;
/*@=fcnuse@*/ /*@=fcnuse@*/
/** /**
* Add a string to an argv array.
* @retval *argvp argv array
* @param argInfo (unused)
* @param val string arg to add (using strdup)
* @return 0 always
*/
/*@unused@*/
int poptSaveString(/*@null@*/ const char *** argvp, unsigned int argInfo,
const char * val)
/*@modifies *argvp @*/;
/**
* Save a long long, performing logical operation with value.
* @warning Alignment check may be too strict on certain platorms.
* @param arg integer pointer, aligned on int boundary.
* @param argInfo logical operation (see POPT_ARGFLAG_*)
* @param aLongLong value to use
* @return 0 on success, POPT_ERROR_NULLARG/POPT_ERROR_BADOPERA
TION
*/
/*@-incondefs@*/
/*@unused@*/
int poptSaveLongLong(/*@null@*/ long long * arg, unsigned int argInfo,
long long aLongLong)
/*@globals internalState @*/
/*@modifies *arg, internalState @*/
/*@requires maxSet(arg) >= 0 /\ maxRead(arg) == 0 @*/;
/*@=incondefs@*/
/**
* Save a long, performing logical operation with value. * Save a long, performing logical operation with value.
* @warning Alignment check may be too strict on certain platorms. * @warning Alignment check may be too strict on certain platorms.
* @param arg integer pointer, aligned on int boundary. * @param arg integer pointer, aligned on int boundary.
* @param argInfo logical operation (see POPT_ARGFLAG_*) * @param argInfo logical operation (see POPT_ARGFLAG_*)
* @param aLong value to use * @param aLong value to use
* @return 0 on success, POPT_ERROR_NULLARG/POPT_ERROR_BADOPERA TION * @return 0 on success, POPT_ERROR_NULLARG/POPT_ERROR_BADOPERA TION
*/ */
/*@-incondefs@*/ /*@-incondefs@*/
/*@unused@*/ /*@unused@*/
int poptSaveLong(/*@null@*/ long * arg, unsigned int argInfo, long aLong) int poptSaveLong(/*@null@*/ long * arg, unsigned int argInfo, long aLong)
 End of changes. 5 change blocks. 
9 lines changed or deleted 41 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/