NAME
     Grid Engine List Library - a library providing generic  list
     functionality and database like list management

DESCRIPTION
     The Grid Engine List Library provides the functionality of a
     generic  list.  This means the list functions are applicable
     to every list based on a number of certain basic types. List
     definitions are extensible on a per program basis as long as
     the old fields remain in the list definition.

LIBRARY FUNCTIONS
     The list library provides the following functions. These are
     explained in detail in the stated man pages.

  LIST FUNCTIONS
     lCreateList(3)
          create a generic list

     lCreateElemList(3)
          create a generic list with a certain  number  of  empty
          elements

     lFreeList(3)
          free the memory allocated for a generic  list  and  all
          its sub-lists

     lCopyList(3)
          copy a generic list with all its sub-lists and strings

     lAddList(3)
          concatenate two generic lists

     lSortList(3)
          sort a generic list

     lDumpList(3)
          dump a generic list to file

     lUndumpList(3)
          undump a generic list with all its data from file

     lWriteList(3)
          write a generic list to stdout

     lGetListName(3)
          return the name of a generic list

     lGetListDescr(3)
          return a pointer to the descriptor of a generic list

     lGetNumberOfElem(3)
          return the number of list elements contained in a  gen-
          eric list

     lGetNumberOfRemainingElem(3)
          return the number of list  elements  contained  in  the
          remainder of a generic list after a specified list ele-
          ment

  LIST ELEMENT FUNCTIONS
     lCreateElem(3)
          create a generic list element

     lFreeElem(3)
          frees the memory allocated for a generic list  element,
          its strings and its sub-lists

     lCopyElem(3)
          duplicate a list element with  all  its  sub-lists  and
          strings

     lAppendElem(3)
          append a list element to an existing list

     lInsertElem(3)
          insert a list element into an  existing  list  after  a
          specified element

     lDechainElem(3)
          dechain a list element from a list, the dechained  ele-
          ment is not freed

     lFirst(3)
          get the first list element

     lLast(3)
          get the last list element

     lNext(3)
          get the successor of the list element

     lPrev(3)
          get the predecessor of the list element

     lFindFirst(3)
          find the first list element matching  specified  condi-
          tions

     lFindLast(3)
          find the last list element  matching  specified  condi-
          tions

     lFindNext(3)
          find the next list element starting at a  certain  list
          element matching specified conditions

     lFindPrev(3)
          find the previous list element starting  at  a  certain
          list element matching specified conditions

     lDumpElem(3)
          dump a list element to file

     lUndumpElem(3)
          undump a list element from file into memory

     lWriteElem(3)
          write a list element to stdout

     lGetPosViaElem(3)
          get the field position of a  list  element  field  with
          name 'nm'

  FIELD ACCESS FUNCTIONS
     lGetInt(3)

     lGetUlong(3)

     lGetString(3)

     lGetList(3)

     lGetFloat(3)

     lGetDouble(3)

     lGetChar(3)

     lGetLong(3)

          get the value of the specified type from a list element
          field;  the element and the field name are delivered as
          arguments

     lSetInt(3)

     lSetUlong(3)

     lSetString(3)

     lSetList(3)

     lSetFloat(3)

     lSetDouble(3)
     lSetChar(3)

     lSetLong(3)

          set the value of the specified type in a  corresponding
          list  element  field; the element, the field name and a
          new value are delivered as arguments

     lGetPosInt(3)

     lGetPosUlong(3)

     lGetPosString(3)

     lGetPosList(3)

     lGetPosFloat(3)

     lGetPosDouble(3)

     lGetPosChar(3)

     lGetPosLong(3)

          get the value of the specified type in a  corresponding
          list  element field; the element and the field position
          are delivered as arguments

     lSetPosInt(3)

     lSetPosUlong(3)

     lSetPosString(3)

     lSetPosList(3)

     lSetPosFloat(3)

     lSetPosDouble(3)

     lSetPosChar(3)

     lSetPosLong(3)

          set the value of the specified type in a  corresponding
          list element field; the element, the field position and
          the new value are delivered as arguments

  LIST DESCRIPTOR FUNCTIONS
     lInit(3)
          initialize the name to string conversion

     lNm2Str(3)
          convert an int value specifying a  field  name  to  its
          corresponding name string

     _lNm2Str(3)
          convert an int value specifying a  field  name  to  its
          corresponding name string using a specified name space

     lStr2Nm(3)
          convert a field name to its corresponding field id

     _lStr2Nm(3)
          convert a field name  to  its  corresponding  field  id
          using a specified name space

     lCountDescr(3)
          get the number of fields of a descriptor

     lGetPosInDescr(3)
          get the position of  the  field  named  'nm'  from  the
          descriptor

     lDumpDescr(3)
          dump a list descriptor to a file

     lUndumpDescr(3)
          undump a list descriptor from a file to memory

     lWriteDescr(3)
          write a descriptor to stdout

  LIST DATABASE FUNCTIONS
     lSelect(3)
          select returns a list of elements that match the speci-
          fied conditions.

     lSelectDestroy(3)
          select reduces a list to those  elements  matching  the
          specified conditions.

     lSplit(3)
          splits a list into two parts.  One  part  contains  all
          elements  fulfilling  the specified condition the other
          part contains the elements not  fulfilling  the  condi-
          tion.

     lJoinSublist(3)
          join a specified list with one of  its  sub-lists;  one
          can  specify  conditions for the list and the sub-list.
          The joined list is returned and the  original  list  is
          unchanged.

     lJoin(3)
          join two lists which fulfill the  specified  conditions
          to a new list that contains the enumerated fields.  The
          joined list is returned  and  the  original  lists  are
          unaltered.

     lWhere(3)
          build a lCondition data structure which is used as con-
          dition for various functions as lSelect or lJoin

     _lWhere(3)
          build a lCondition data structure which is used as con-
          dition for various functions as lSelect or lJoin

     lOrWhere(3)
          build a lCondition data structure composed of two  con-
          ditions connected by logical or

     lAndWhere(3)
          build a lCondition data structure composed of two  con-
          ditions connected by logical and

     lFreeWhere(3)
          free a lCondition data structure

     lWriteWhere(3)
          write a lCondition data structure to stdout

     lWhat(3)
          build a lEnumeration data structure which  is  used  to
          specify  the  fields  that  are  contained  in  a newly
          created list element

     lFreeWhat(3)
          free a lEnumeration data structure

     lWriteWhat(3)
          write a lEnumeration data structure to stdout

     lCountWhat(3)
          count the number  of  fields  in  a  lEnumeration  data
          structure

  DATA STRUCTURES
     The following essential data  structures  are  used  by  the
     various list library functions.

     lDescr *descriptor
          The descriptor contains the  information  which  fields
          (name, type) are contained in a list.

     lList  *list
          The lList pointer specifies a list created by lCreateL-
          ist  or  any  of the other functions generating a list.
          Here the name of the list, a reference to the  descrip-
          tor, the number of contained list elements and a refer-
          ence to the first and last list element are stored.

     lListElem *list_element
          The lListElem pointer is returned on creation of a  new
          list element and contains the actual data.

     lCondition *conditions
          The lCondition pointer is a representation of logically
          connected  compare  operations.  It  serves  to  decide
          whether it should be operated on a  special  list  ele-
          ment.

     lEnumeration *field_enumerations
          The lEnumeration pointer specifies which  fields  of  a
          given  list  element  shall  be involved in a specified
          action. It is possible under certain  circumstances  to
          specify all fields or no field at all.

     lSortOrder *sorting_order
          The lSortOrder pointer is used to specify sorting  cri-
          teria  for  a  generic  list. It is possible to declare
          combined sorting keys.

SEE ALSO
     sge_intro(1).

COPYRIGHT
     See sge_intro(1) for a full statement of rights and  permis-
     sions.




















Man(1) output converted with man2html