95/05/11, bgjang@csone


abstraction of dictionary

- dictDelete, dictInsert need user confirmation to be executed.
- dictFind, dictInsert, dictDelete, dictModify operation have
  an argument which represent dictioinary ID commonly.
- we must choose 1 or 2 method.
- dictOpen, dictClose don't need for abstraction but for
  implementation.. ;)


dictFind
  return :
      1. # of hit item (and error code)
         and the contents will be stored in some global place.
      2. or # of hit item (and error code) + contents
  argument :
      keyword

dictInsert
  return :
      error code
  argument :
      1. keyword
	 and the contents will be fetched from some global place.
      2. keyword + contents

dictDelete
  return :
      error code
  argument :
      keyword

dictModify
  return, argument must be same with dictInsert case


dictOpen
  return :
      dictionary ID + error code
  argument :
      dictionary name
  note :
      Dictionary ID must be keeped some global variable which can
      be accessed from only these functions. Maybe some array
      can be used for this purpose.

      For example, we can define 'DBM* id2pointer[MAX_OPEN_DICT]'
      for the case in which we use dbm libraries as dictionary data
      structure, so dictionary ID can be 0 .. MAX_OPEN_DICT-1.

dictClose
  return :
      error code
  argument :
      dictionary ID
