XmParseMapping(3)

NAME

   XmParseMapping  ---  Data  type  for  a  compound  string  parse  mapping
   "XmParseMapping" "data types" "XmParseMapping"

SYNOPSIS

   #include <Xm/Xm.h>

DESCRIPTION

   XmParseMapping is an opaque data type  for  a  parse  mapping  used  by
   XmStringParseText  to  create  a  compound  string.   A  parse  mapping
   contains a pattern to be matched in  text  being  parsed  to  create  a
   compound  string.  It also contains a compound string, or a function to
   be invoked to provide a compound string, to be included in the compound
   string being created whenever the pattern is matched.

   An  application  uses  a resource-style interface to specify components
   for an XmParseMapping.  XmParseMappingCreate creates a  parse  mapping,
   using  a  resource-style  argument  list.   XmParseMappingGetValues and
   XmParseMappingSetValues retrieve and set  the  components  of  a  parse
   mapping.   XmParseMappingFree  recovers memory used by a parse mapping.
   XmParseTable is an array of XmParseMapping objects.

   The XmNinvokeParseProc resource is  a  function  of  type  XmParseProc,
   which is defined as follows:

   XmIncludeStatus (*XmParseProc) (text_in_out, text_end, type, tag, entry, pattern_length,
   str_include, call_data)
           XtPointer *text_in_out;
           XtPointer text_end;
           XmTextType type;
           XmStringTag tag;
           XmParseMapping entry;
           int pattern_length;
           XmString *str_include;
           XtPointer call_data;

   A  parse procedure provides an escape mechanism for arbitrarily complex
   parsing.  This procedure is invoked when a pattern in the input text is
   matched  with  a  pattern  in a parse mapping whose XmNincludeStatus is
   XmINVOKE.

   The input text is a pointer to the first byte of the pattern  that  was
   matched  to  trigger  the  call  to  the  parse  procedure.   The parse
   procedure consumes as many bytes of the input string as  it  needs  and
   sets  the  input  text  pointer  to  the  following byte.  It returns a
   compound  string  to  be  included  in  the   compound   string   being
   constructed,  and it also returns an XmIncludeStatus indicating how the
   returned compound string should be handled.   If  the  parse  procedure
   does  not  set  the  input text pointer ahead by at least one byte, the
   parsing routine continues trying to  match  the  input  text  with  the
   patterns   in   the  remaining  parse  mappings  in  the  parse  table.
   Otherwise, the parsing routine begins with the new input  text  pointer
   and  tries  to match the input text with patterns in the parse mappings
   starting at the beginning of the parse table.

   text_in_out
             Specifies the text being parsed.  The value is a  pointer  to
             the  first  byte  of text matching the pattern that triggered
             the call to the parse procedure.  When  the  parse  procedure
             returns,  this  argument  is  set to the position in the text
             where parsing should resume---that is, to  the  byte  following
             the last character parsed by the parse procedure.

   text_end  Specifies a pointer to the end of the text_in_out string.  If
             text_end  is  NULL,  the  string  is  scanned  until  a  NULL
             character  is  found.  Otherwise, the string is scanned up to
             but not including the character whose address is text_end.

   type      Specifies the type of text and the tag type.  If a locale tag
             should   be   created,   type   has   a   value   of   either
             XmMULTIBYTE_TEXT or XmWIDECHAR_TEXT.  If a charset should  be
             created, type has a value of XmCHARSET_TEXT.

   tag       Specifies  the  tag  to  be used in creating the result.  The
             type of string tag created (charset or locale) depends on the
             text  type  and the passed in tag value.  If the tag value is
             NULL and if type indicates that a charset string  tag  should
             be  created,  the string tag has the value that is the result
             of mapping XmSTRING_DEFAULT_CHARSET.   If  type  indicates  a
             locale   string   tag,   the   string   tag   has  the  value
             _MOTIF_DEFAULT_LOCALE.

   entry     Specifies the parse mapping that triggered the  call  to  the
             parse procedure.

   pattern_length
             Specifies  the  number  of bytes in the input text, following
             text_in_out, that constitute the matched pattern.

   str_include
             Specifies  a  pointer  to  a  compound  string.   The   parse
             procedure  creates  a  compound  string to be included in the
             compound string being constructed.  The parse procedure  then
             returns the compound string in this argument.

   call_data Specifies  data  passed  by  the  application  to the parsing
             routine.

   The  parse  procedure  returns  an   XmIncludeStatus   indicating   how
   str_include is to be included in the compound string being constructed.
   Following are the possible values:

   XmINSERT  Concatenate  the  result  to  the   compound   string   being
             constructed and continue parsing.

   XmTERMINATE
             Concatenate   the   result   to  the  compound  string  being
             constructed and terminate parsing.

   New Resources
   The following table defines a set of resources used by  the  programmer
   to  specify data.  The codes in the access column indicate if the given
   resource  can  be  set   at   creation   time   (C),   set   by   using
   XmParseMappingSetValues (S), retrieved by using XmParseMappingGetValues
   (G), or is not applicable (N/A).

   
                       XmParseMapping Resource Set                      
   Name                Class  Type             Default         Access 
   
   XmNclientData              XtPointer        NULL            CSG    
   
   XmNincludeStatus           XmIncludeStatus  XmINSERT        CSG    
   
   XmNinvokeParseProc         XmParseProc      NULL            CSG    
   
   XmNpattern                 XtPointer        NULL            CSG    
   
   XmNpatternType             XmTextType       XmCHARSET_TEXT  CSG    
   
   XmNsubstitute              XmString         NULL            CSG    
   
   
   XmNclientData
             Specifies data to be used by the parse procedure.

   XmNincludeStatus
             Specifies how the result of the mapping is to be included  in
             the  compound  string being constructed.  Unless the value is
             XmINVOKE,  the  result  of  the  mapping  is  the  value   of
             XmNsubstitute.    Following   are  the  possible  values  for
             XmNincludeStatus:

             XmINSERT  Concatenate the result to the compound string being
                       constructed and continue parsing.

             XmINVOKE  Invoke  the  XmNinvokeParseProc  on  the text being
                       parsed and use the returned compound string instead
                       of  XmNsubstitute as the result to be inserted into
                       the compound string being constructed.  The include
                       status returned by the parse procedure (XmINSERT or
                       XmTERMINATE) determines how the  returned  compound
                       string is included.

             XmTERMINATE
                       Concatenate the result to the compound string being
                       constructed and terminate parsing.

   XmNinvokeParseProc
             Specifies  the   parse   procedure   to   be   invoked   when
             XmNincludeStatus is XmINVOKE.

   XmNpattern
             Specifies  a  pattern to be matched in the text being parsed.
             This is a maximum of one character.

   XmNpatternType
             Specifies the type of  the  pattern  that  is  the  value  of
             XmNpattern.  Following are the possible values:

                *  XmCHARSET_TEXT

                *  XmMULTIBYTE_TEXT

                *  XmWIDECHAR_TEXT

   XmNsubstitute
             Specifies  the compound string to be included in the compound
             string being constructed when XmNincludeStatus is XmINSERT or
             XmTERMINATE.

RELATED

   XmParseMappingCreate(3),                         XmParseMappingFree(3),
   XmParseMappingGetValues(3),                 XmParseMappingSetValues(3),
   XmParseTable(3), and XmString(3).

                                                         XmParseMapping(3)



Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.


Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.

Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.


Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.

Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.


Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.

Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.