


XrmUniqueQuark(3X11)					 XrmUniqueQuark(3X11)
X11R5									X11R5



NAME
  XrmUniqueQuark, XrmStringToQuark, XrmPermStringToQuark, XrmQuarkToString,
  XrmStringToQuarkList,	XrmStringToBindingQuarkList - manipulate resource
  quarks

SYNTAX
  XrmQuark XrmUniqueQuark()

  #define XrmStringToName(string) XrmStringToQuark(string) #define
  XrmStringToClass(string) XrmStringToQuark(string) #define
  XrmStringToRepresentation(string) XrmStringToQuark(string)

  XrmQuark XrmStringToQuark(_s_t_r_i_n_g)
       char *_s_t_r_i_n_g;

  XrmQuark XrmPermStringToQuark(_s_t_r_i_n_g)
       char *_s_t_r_i_n_g;

  #define XrmStringToName(string) XrmStringToQuark(string) #define
  XrmStringToClass(string) XrmStringToQuark(string) #define
  XrmStringToRepresentation(string) XrmStringToQuark(string)

  XrmQuark XrmStringToQuark(_s_t_r_i_n_g)
       char *_s_t_r_i_n_g;

  XrmQuark XrmPermStringToQuark(_s_t_r_i_n_g)
       char *_s_t_r_i_n_g;

  #define XrmNameToString(name)	XrmQuarkToString(name) #define
  XrmClassToString(class) XrmQuarkToString(class) #define
  XrmRepresentationToString(type) XrmQuarkToString(type)

  char *XrmQuarkToString(_q_u_a_r_k)
       XrmQuark	_q_u_a_r_k;

  #define XrmStringToNameList(str, name)  XrmStringToQuarkList((str), (name))
  #define XrmStringToClassList(str,class) XrmStringToQuarkList((str),
  (class))

  void XrmStringToQuarkList(_s_t_r_i_n_g, _q_u_a_r_k_s__r_e_t_u_r_n)
       char *_s_t_r_i_n_g;
       XrmQuarkList _q_u_a_r_k_s__r_e_t_u_r_n;

  XrmStringToBindingQuarkList(_s_t_r_i_n_g, _b_i_n_d_i_n_g_s__r_e_t_u_r_n, _q_u_a_r_k_s__r_e_t_u_r_n)
       char *_s_t_r_i_n_g;
       XrmBindingList _b_i_n_d_i_n_g_s__r_e_t_u_r_n;
       XrmQuarkList _q_u_a_r_k_s__r_e_t_u_r_n;

ARGUMENTS

  _b_i_n_d_i_n_g_s__r_e_t_u_r_n
	    Returns the	binding	list.

  _q_u_a_r_k	    Specifies the quark	for which the equivalent string	is desired.

  _q_u_a_r_k_s__r_e_t_u_r_n
	    Returns the	list of	quarks.

  _s_t_r_i_n_g    Specifies the string for which a quark or quark list is to be
	    allocated.

DESCRIPTION
  The _X_r_m_U_n_i_q_u_e_Q_u_a_r_k function allocates	a quark	that is	guaranteed not to
  represent any	string that is known to	the resource manager.

  These	functions can be used to convert from string to	quark representation.
  If the string	is not in the Host Portable Character Encoding the conversion
  is implementation dependent.	The string argument to _X_r_m_S_t_r_i_n_g_T_o_Q_u_a_r_k	need
  not be permanently allocated storage.	 _X_r_m_P_e_r_m_S_t_r_i_n_g_T_o_Q_u_a_r_k is just like
  _X_r_m_S_t_r_i_n_g_T_o_Q_u_a_r_k, except that	Xlib is	permitted to assume the	string argu-
  ment is permanently allocated, and hence that	it can be used as the value
  to be	returned by _X_r_m_Q_u_a_r_k_T_o_S_t_r_i_n_g.

  This function	can be used to convert from quark representation to string.
  The string pointed to	by the return value must not be	modified or freed.
  The returned string is byte-for-byte equal to	the original string passed to
  one of the string-to-quark routines.	If no string exists for	that quark,
  _X_r_m_Q_u_a_r_k_T_o_S_t_r_i_n_g returns NULL.  For any given	quark, if _X_r_m_Q_u_a_r_k_T_o_S_t_r_i_n_g
  returns a non-NULL value, all	future calls will return the same value
  (identical address).

  These	functions can be used to convert from string to	quark representation.
  If the string	is not in the Host Portable Character Encoding the conversion
  is implementation dependent.	The string argument to _X_r_m_S_t_r_i_n_g_T_o_Q_u_a_r_k	need
  not be permanently allocated storage.	 _X_r_m_P_e_r_m_S_t_r_i_n_g_T_o_Q_u_a_r_k is just like
  _X_r_m_S_t_r_i_n_g_T_o_Q_u_a_r_k, except that	Xlib is	permitted to assume the	string argu-
  ment is permanently allocated, and hence that	it can be used as the value
  to be	returned by _X_r_m_Q_u_a_r_k_T_o_S_t_r_i_n_g.

  The _X_r_m_S_t_r_i_n_g_T_o_Q_u_a_r_k_L_i_s_t function converts the null-terminated string	(gen-
  erally a fully qualified name) to a list of quarks.  Note that the string
  must be in the valid ResourceName format (see	section	15.1).	If the string
  is not in the	Host Portable Character	Encoding the conversion	is implemen-
  tation dependent.

  A binding list is a list of type _X_r_m_B_i_n_d_i_n_g_L_i_s_t and indicates	if components
  of name or class lists are bound tightly or loosely (that is,	if wildcard-
  ing of intermediate components is specified).

  typedef enum {XrmBindTightly,	XrmBindLoosely}	XrmBinding, *XrmBindingList;

  _X_r_m_B_i_n_d_T_i_g_h_t_l_y indicates that	a period separates the components, and
  _X_r_m_B_i_n_d_L_o_o_s_e_l_y indicates that	an asterisk separates the components.

  The _X_r_m_S_t_r_i_n_g_T_o_B_i_n_d_i_n_g_Q_u_a_r_k_L_i_s_t function converts the	specified string to a
  binding list and a quark list.  If the string	is not in the Host Portable
  Character Encoding the conversion is implementation dependent.  Component
  names	in the list are	separated by a period or an asterisk character.	 If
  the string does not start with period	or asterisk, a period is assumed.
  For example, ``*a.b*c'' becomes:

  quarks  a	  b	  c
  bindings	  loose	  tight	  loose

SEE ALSO
  XrmGetResource(3X11),	XrmInitialize(3X11), XrmMergeDatabases(3X11),
  XrmPutResource(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






