hpux man page for xrmparsecommand

Query: xrmparsecommand

OS: hpux

Section: 3

Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar

XrmParseCommand()														 XrmParseCommand()

Name
  XrmParseCommand - load a resource database from command-line arguments.

Synopsis
  void XrmParseCommand(database, table, table_count, name, argc_in_out, argv_in_out)
	   XrmDatabase *database;
	   XrmOptionDescList table;
	   int table_count;
	   char *name;
	   int *argc_in_out;
	   char **argv_in_out;

Arguments
  database  Specifies  a pointer to the resource database.  If database contains NULL, a new resource database is created and a pointer to it
	    is returned in database.  If a database is created, it is created in the current locale.

  table     Specifies table of command-line arguments to be parsed.

  table_count
	    Specifies the number of entries in the table.

  name	    Specifies the application name.

  argc_in_out
	    Before the call, specifies the number of arguments.  After the call, returns the number of arguments not parsed.

  argv_in_out
	    Before the call, specifies a pointer to the command-line arguments.  After the call, returns a pointer to a string containing the
	    command-line arguments that could not be parsed.

Description
  XrmParseCommand()  parses  an  (argc_in_out,	argv_in_out)  pair according to the specified option table, loads recognized options into the
  specified database with the type "String" and modifies the (argc_in_out, argv_in_out) pair to remove all recognized options.

  The specified table is used to parse the command line.  Recognized entries in the table are removed from argv_in_out, and entries are  made
  in the specified resource database.  The table entries contain information on the option string, the option name, which style of option and
  a value to provide if the option kind is XrmoptionNoArg.  See the example table below.  The option  names  are  compared  byte-for-byte  to
  arguments in argv, independent of any locale.  The resource values given in the table are stored in the resource database without modifica-
  tion.  All resource database entries are created using a "String" representation type.

  argc_in_out specifies the number of arguments in argv_in_out and is set to the remaining number of arguments that were  not  parsed.	 name
  should  be  the  name  of  your application for use in building the database entry.  name is prepended to the specifier in the option table
  before storing the specification.  No separating (binding) character is inserted.  The table must contain either a dot (.) or  an  asterisk
  (*)  as  the	first character in each specifier entry.  The specifier entry can contain multiple components.	If the name arguments and the
  specifiers are not in the Host Portable Character Encoding, the result is implementation-dependent.

  The following is a typical options table:

  static XrmOptionDescRec opTable[  ] = {
  {"-background",  "*background",		 XrmoptionSepArg, (XPointer) NULL},
  {"-bd",	   "*borderColor",		 XrmoptionSepArg, (XPointer) NULL},
  {"-bg",	   "*background",		 XrmoptionSepArg, (XPointer) NULL},
  {"-borderwidth", "*TopLevelShell.borderWidth", XrmoptionSepArg, (XPointer) NULL},
  {"-bordercolor", "*borderColor",		 XrmoptionSepArg, (XPointer) NULL},
  {"-bw",	   "*TopLevelShell.borderWidth", XrmoptionSepArg, (XPointer) NULL},
  {"-display",	   ".display",			 XrmoptionSepArg, (XPointer) NULL},
  {"-fg",	   "*foreground",		 XrmoptionSepArg, (XPointer) NULL},
  {"-fn",	   "*font",			 XrmoptionSepArg, (XPointer) NULL},
  {"-font",	   "*font",			 XrmoptionSepArg, (XPointer) NULL},
  {"-foreground",  "*foreground",		 XrmoptionSepArg, (XPointer) NULL},
  {"-geometry",    ".TopLevelShell.geometry",	 XrmoptionSepArg, (XPointer) NULL},
  {"-iconic",	   ".TopLevelShell.iconic",	 XrmoptionNoArg,  (XPointer) "on"},
  {"-name",	   ".name",			 XrmoptionSepArg, (XPointer) NULL},
  {"-reverse",	   "*reverseVideo",		 XrmoptionNoArg,  (XPointer) "on"},
  {"-rv",	   "*reverseVideo",		 XrmoptionNoArg,  (XPointer) "on"},
  {"-synchronous", ".synchronous",		 XrmoptionNoArg,  (XPointer) "on"},
  {"-title",	   ".TopLevelShell.title",	 XrmoptionSepArg, (XPointer) NULL},
  {"-xrm",	   NULL,			 XrmoptionResArg, (XPointer) NULL},
  };

  In this table, if the -background (or -bg) option is used to set background colors, the stored resource specifier will match all  resources
  of  attribute  background.   If  the	-borderwidth option is used, the stored resource specifier applies only to border width attributes of
  class TopLevelShell (that is, outermost windows, including pop-up windows).  If the -title option is used to set a window  name,  only  the
  topmost application windows receive the resource.

  When	parsing  the  command line, any unique unambiguous abbreviation for an option name in the table is considered a match for the option.
  Note that uppercase and lowercase matter.

  For more information, see Volume One, Chapter 13, Managing User Preferences.

Structures
  XrmDatabase is a pointer to an opaque data type.

     typedef enum {
	 XrmoptionNoArg,     /* value is specified in OptionDescRec.value */
	 XrmoptionIsArg,     /* value is the option string itself */
	 XrmoptionStickyArg, /* value is chars immediately following option */
	 XrmoptionSepArg,    /* value is next argument in argv */
	 XrmoptionResArg,    /* resource and value in next argument in argv */
	 XrmoptionSkipArg,   /* ignore this option and next argument in argv */
	 XrmoptionSkipLine,  /* ignore this option and the rest of argv */
	 XrmoptionSkipNArgs  /* new in R4: ignore this option, skip */
			     /* number specified in next argument */
     } XrmOptionKind;

     typedef struct {
	 char *option;		/* option specification string in argv */
	 char *resourceName;	/* binding & resource name (w/out application name) */
	 XrmOptionKind argKind; /* which style of option it is */
	 XPointer value;	/* value to provide if XrmoptionNoArg */
     } XrmOptionDescRec, *XrmOptionDescList;

See Also
  XrmDestroyDatabase(), XrmGetFileDatabase(), XrmGetResource(),  XrmGetStringDatabase(),  XrmInitialize(),  XrmMergeDatabases(),  XrmPutFile-
  Database(),	XrmPutLineResource(),  XrmPutResource(),  XrmPutStringResource(),  XrmQGetResource(),  XrmQGetSearchList(),  XrmQGetSearchRe-
  source(), XrmQPutResource(), XrmQPutStringResource(), XrmQuarkToString(), XrmStringToBindingQuarkList(), XrmStringToQuarkList(), XrmString-
  ToQuark(), XrmUniqueQuark().

Xlib - Resource Manager 													 XrmParseCommand()