manpagez: man pages & more
info history
Home | html | info | man
[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2 History Storage

The history list is an array of history entries. A history entry is declared as follows:

 
typedef void *histdata_t;

typedef struct _hist_entry {
  char *line;
  char *timestamp;
  histdata_t data;
} HIST_ENTRY;

The history list itself might therefore be declared as

 
HIST_ENTRY **the_history_list;

The state of the History library is encapsulated into a single structure:

 
/*
 * A structure used to pass around the current state of the history.
 */
typedef struct _hist_state {
  HIST_ENTRY **entries; /* Pointer to the entries themselves. */
  int offset;           /* The location pointer within this array. */
  int length;           /* Number of elements within this array. */
  int size;             /* Number of slots allocated to this array. */
  int flags;
} HISTORY_STATE;

If the flags member includes HS_STIFLED, the history has been stifled.


© manpagez.com 2000-2024
Individual documents may contain additional copyright information.