


XrmInitialize(3X11)					  XrmInitialize(3X11)
X11R5									X11R5



NAME
  XrmInitialize, XrmParseCommand, XrmValue, XrmOptionKind, XrmOptionDescRec -
  initialize the Resource Manager, Resource Manager structures,	and parse the
  command line

SYNTAX
  void XrmInitialize();

  void XrmParseCommand(_d_a_t_a_b_a_s_e, _t_a_b_l_e,	_t_a_b_l_e__c_o_u_n_t, _n_a_m_e, _a_r_g_c__i_n__o_u_t,
  _a_r_g_v__i_n__o_u_t)
	XrmDatabase *_d_a_t_a_b_a_s_e;
	XrmOptionDescList _t_a_b_l_e;
	int _t_a_b_l_e__c_o_u_n_t;
	char *_n_a_m_e;
	int *_a_r_g_c__i_n__o_u_t;
	char **_a_r_g_v__i_n__o_u_t;

ARGUMENTS

  _a_r_g_c__i_n__o_u_t
	    Specifies the number of arguments and returns the number of
	    remaining arguments.

  _a_r_g_v__i_n__o_u_t
	    Specifies the command line arguments and returns the remaining
	    arguments.

  _d_a_t_a_b_a_s_e  Specifies the resource database.

  _n_a_m_e	    Specifies the application name.

  _t_a_b_l_e	    Specifies the table	of command line	arguments to be	parsed.

  _t_a_b_l_e__c_o_u_n_t
	    Specifies the number of entries in the table.

DESCRIPTION
  The _X_r_m_I_n_i_t_i_a_l_i_z_e function initialize	the resource manager.  It must be
  called before	any other Xrm functions	are used.

  The _X_r_m_P_a_r_s_e_C_o_m_m_a_n_d function parses an (argc,	argv) pair according to	the
  specified option table, loads	recognized options into	the specified data-
  base with type ``String,'' and modifies the (argc, argv) pair	to remove all
  recognized options.  If database contains NULL, _X_r_m_P_a_r_s_e_C_o_m_m_a_n_d creates a
  new database and returns a pointer to	it.  Otherwise,	entries	are added to
  the database specified.  If a	database is created, it	is created in the
  current locale.

  The specified	table is used to parse the command line.  Recognized options
  in the table are removed from	argv, and entries are added to the specified
  resource database.  The table	entries	contain	information on the option
  string, the option name, the style of	option,	and a value to provide if the
  option kind is _X_r_m_o_p_t_i_o_n_N_o_A_r_g.  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 modification.  All
  resource database entries are	created	using a	``String'' representation
  type.	 The argc argument specifies the number	of arguments in	argv and is
  set on return	to the remaining number	of arguments that were not parsed.
  The name argument should be the name of your application for use in build-
  ing the database entry.  The name argument is	prefixed to the	resourceName
  in the option	table before storing a database	entry.	No separating (bind-
  ing) character is inserted, so the table must	contain	either a period	(.)
  or an	asterisk (*) as	the first character in each resourceName entry.	 To
  specify a more completely qualified resource name, the resourceName entry
  can contain multiple components.  If the name	argument and the resour-
  ceNames are not in the Host Portable Character Encoding the result is
  implementation dependent.

STRUCTURES
  The _X_r_m_V_a_l_u_e,	_X_r_m_O_p_t_i_o_n_K_i_n_d, and _X_r_m_O_p_t_i_o_n_D_e_s_c_R_e_c structures contain:

  typedef struct {
	  unsigned int size;
	  XPointer addr;
  } XrmValue, *XrmValuePtr;

  typedef enum {
	  XrmoptionNoArg, /* Value is specified	in XrmOptionDescRec.value */
	  XrmoptionIsArg, /* Value is the option string	itself */
	  XrmoptionStickyArg,	  /* Value is characters immediately following option */
	  XrmoptionSepArg,	  /* Value is next argument in argv */
	  XrmoptionResArg,	  /* Resource and value	in next	argument in argv */
	  XrmoptionSkipArg,	  /* Ignore this option	and the	next argument in argv */
	  XrmoptionSkipLine,	  /* Ignore this option	and the	rest of	argv */
	  XrmoptionSkipNArgs	  /* Ignore this option	and the	next
		     XrmOptionDescRec.value arguments in argv */
  } XrmOptionKind;

  typedef struct {
	  char *option;	  /* Option specification string in argv	      */
	  char *specifier;	  /* Binding and resource name (sans application name)*/
	  XrmOptionKind	argKind;  /* Which style of option it is      */
	  XPointer value; /* Value to provide if XrmoptionNoArg	or
			     XrmoptionSkipNArgs	  */
  } XrmOptionDescRec, *XrmOptionDescList;

SEE ALSO
  XrmGetResource(3X11),	XrmMergeDatabases(3X11), XrmPutResource(3X11),
  XrmUniqueQuark(3X11)
  _X_l_i_b - _C _L_a_n_g_u_a_g_e _X _I_n_t_e_r_f_a_c_e	delim off
























