home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
hitest.exe
/
HITEST10.EXE
/
INCLUDE
/
HTNOTES.H
Wrap
C/C++ Source or Header
|
1994-06-16
|
63KB
|
1,288 lines
/**********************************************************************
* HTNOTES.H - External includes for HiTest Enhanced Lotus Notes API *
* Copyright 1994 Edge Research Inc. *
**********************************************************************/
#ifndef HTNOTES_INCL
#define HTNOTES_INCL
#if !defined (OS_WIN) & !defined (OS_OS21) & !defined (OS_OS22)
#error Define a valid OS_ constant (WIN, OS21, OS22)
#endif
/*******************************************************************
***** Basic API datatypes
*******************************************************************/
/* Define HTAPI_NO_BOOLCONST to skip the typedefs for WORD and DWORD */
#if !defined (OS_WIN)
#if !defined (HTAPI_NO_WORDTYPE)
typedef unsigned short int WORD;
typedef unsigned long int DWORD;
#endif
#endif
typedef unsigned char HTBYTE; /* Byte parameter */
typedef long int HTINT; /* Integer parameter */
typedef short int HTSTATUS; /* Return code */
typedef short int HTBOOL; /* Boolean parameter (use TRUE or FALSE) */
typedef HTINT HTFLAGS; /* OR'ed bit flags */
typedef HTINT HTID; /* Enhanced API ID */
typedef HTID HTDOCID; /* Document ID */
typedef HTID HTFORMID; /* Form ID */
typedef HTID HTVIEWID; /* View ID */
typedef HTID HTMACROID; /* Macro ID */
typedef HTINT HTHANDLE; /* Enhanced API handle */
typedef HTHANDLE HTCURSOR; /* Cursor handle */
typedef HTHANDLE HTDOCHANDLE; /* Document handle */
typedef HTHANDLE HTCOMPHANDLE; /* Composite data item handle */
/*******************************************************************
***** Basic API constants
*******************************************************************/
#define NULLID 0 /* May be used for any ID */
#ifndef NULLHANDLE
#define NULLHANDLE 0 /* May be used for any HANDLE */
#endif
/* Define HTAPI_NO_BOOLCONST to skip the definitions for TRUE and FALSE */
#ifndef HTAPI_NO_BOOLCONST
#define TRUE 1
#define FALSE 0
#endif
/* Maximum length constants */
#define HTLEN_SERVERNAME 128
#define HTLEN_FILENAME 256
#define HTLEN_USERNAME 256
#define HTLEN_DATABASEINFO 128 /* Database title, categories length */
#define HTLEN_DESIGNNAME 65 /* Form, or View title length */
#define HTLEN_DISPLAYNAME 32 /* Form or view display name length */
#define HTLEN_FIELDNAME 33 /* field or item name length */
#define HTLEN_COLUMNNAME 80 /* View column name length */
#define HTLEN_IMPEXPINFO 80 /* Import/export fmt/ext length */
#define HTLEN_ITEM_DATA 65500 /* Document non-composite item length */
#define HTLEN_COMPUTE_DATA 15360 /* Computable item length */
#define HTLEN_SUMMARY_DATA 15360 /* Summary data per document */
#define HTLEN_NUMBER_TEXT 40 /* Number converted to text */
#define HTLEN_DATETIME_TEXT 80 /* Datetime converted to text */
#define HTLEN_ENV_STRING 150 /* NOTES.INI string value length */
#define HTLEN_ERROR 256 /* HT error string */
#define HTLEN_VERSION 32 /* HT version string */
/* List enumeration (for List functions) */
typedef enum
{
HTENUM_ILLEGAL_LIST = 0,
HTLIST_REFRESH = 1, /* Re-obtain the information from Notes */
HTLIST_FIRST = 2, /* Reset to the first item */
HTLIST_NEXT = 3, /* Obtain the next item */
HTENUM_MAX_LIST
} HTLIST; /* iterative function operations */
/* HiTest data type enumeration */
typedef enum
{
HTENUM_ILLEGAL_TYPE = 0,
/* Standard data types */
HTTYPE_INT = 1, /* Long integer */
HTTYPE_NUMBER = 2, /* Double, handles Notes Number */
HTTYPE_TEXT = 3, /* ASCII text, handles Notes Text */
HTTYPE_DATETIME = 4, /* Datetime, handles Notes Time */
HTTYPE_TEXT_LIST = 5, /* Text list */
HTTYPE_NUMBER_LIST = 6, /* Number list or range */
HTTYPE_TIME_LIST = 7, /* Timedate list or range */
HTTYPE_COMPOSITE = 8, /* Composite data, handles Notes Rich Text */
/* Special data types - no conversion allowed */
HTTYPE_REF = 9, /* $REF field; represented as an HTDOCID */
HTENUM_MAX_TYPE
} HTTYPE; /* API datatypes */
/* Font definitions - structure and values */
typedef struct
{
HTBYTE face; /* Font face (HTFONT_FACE_xxx) */
HTBYTE attrib; /* Font attributes (HTFONT_ATTRIB_xxx) */
HTBYTE color; /* Font color (HTFONT_COLOR_xxx) */
HTBYTE size; /* Font size in points */
} HTFONT;
#define HTFONT_FACE_ROMAN 0 /* Default font face */
#define HTFONT_FACE_SWISS 1
#define HTFONT_FACE_TYPEWRITER 4
#define HTFONT_FACE_USERDEF_MIN 5 /* Minimum user-defined face */
#define HTFONT_ATTRIB_BOLD 0x0001
#define HTFONT_ATTRIB_ITALIC 0x0002
#define HTFONT_ATTRIB_UNDERLINE 0x0004
#define HTFONT_ATTRIB_STRIKEOUT 0x0008
#define HTFONT_ATTRIB_SUPER 0x0010
#define HTFONT_ATTRIB_SUB 0x0020
#define HTFONT_COLOR_BLACK 0 /* Default font color */
#define HTFONT_COLOR_WRITE 1
#define HTFONT_COLOR_RED 2
#define HTFONT_COLOR_GREEN 3
#define HTFONT_COLOR_BLUE 4
#define HTFONT_COLOR_MAGENTA 5
#define HTFONT_COLOR_YELLOW 6
#define HTFONT_COLOR_CYAN 7
#define HTFONT_SIZE_DEFAULT 10 /* Default font size */
/*******************************************************************
***** Global definitions
*******************************************************************/
/* Default global option values */
#define HTDEFAULT_TEXT_TRUNCATE TRUE
#define HTDEFAULT_BULK_STORE FALSE
#define HTDEFAULT_STRICT_BIND TRUE
#define HTDEFAULT_VIEW_POSITION FALSE
#define HTDEFAULT_FETCH_SUMMARY FALSE
#define HTDEFAULT_SUMMARY_LIMIT 8192
/* Global option enumeration */
typedef enum
{
HTENUM_ILLEGAL_GLOBOPT = 0,
HTGLOBOPT_BULK_STORE = 1, /* new cursor bulk store flag
type: HTBOOL (default = FALSE) */
HTGLOBOPT_STRICT_BIND = 2, /* new cursor strict field bind flag
type: HTBOOL (default = TRUE) */
HTGLOBOPT_VIEW_POSITION = 3, /* new cursor result set indexing flag
type: HTBOOL (default = FALSE) */
HTGLOBOPT_LOCAL_SERVERNAME = 4, /* local server string
type: char * (default = NULL) */
HTGLOBOPT_FETCH_SUMMARY = 5, /* new cursor fetch summary flag
type: HTBOOL (default = FALSE) */
HTGLOBOPT_SUMMARY_LIMIT = 6, /* new cursor summary limit length
type: HTINT (default = 8192)
(max = HTLEN_SUMMARY_DATA) */
HTGLOBOPT_TEXT_TRUNCATE = 7, /* whether text truncation is valid
type: HTBOOL (default = TRUE) */
HTENUM_MAX_GLOBOPT
} HTGLOBOPT; /* htSetOption options (given with type and default) */
/* Global-level information retrieval items */
typedef enum
{
HTENUM_ILLEGAL_GLOBINFO = 0,
HTGLOBINFO_USERNAME = 1, /* Notes server name
type: char [HTLEN_USERNAME] */
HTGLOBINFO_CURRENTTIME = 2, /* Current time
type: HTDATETIME */
HTGLOBINFO_TIMEZONE = 3, /* Time zone
type: HTINT */
HTGLOBINFO_DST = 4, /* Daylight savings time status
type: HTBOOL */
HTGLOBINFO_HTVERSION = 5, /* HiTest DLL Version string
type: char [HTLEN_VERSION] */
HTGLOBINFO_SERVERNAME = 6, /* Server name of local machine, if any
type: char [HTLEN_SERVERNAME] */
HTENUM_MAX_GLOBINFO
} HTGLOBINFO; /* htGetInfo items (given with type) */
/*******************************************************************
***** Addin definitions
*******************************************************************/
/* Resource values required for addin support */
#define HTADDIN_RESOURCE_NAME 0x3300
#define HTADDIN_RESOURCE_MSG 0x3302
/*******************************************************************
***** Server definitions
*******************************************************************/
/* Server-level information retrieval items */
typedef enum
{
HTENUM_ILLEGAL_SERVINFO = 0,
HTSERVINFO_PING = 1, /* Whether server is available
type: HTBOOL */
HTSERVINFO_RESPLEN = 2, /* htServerExec response buffer length
type: HTINT */
HTSERVINFO_RESPSTR = 3, /* htServerExec response buffer string
type: char [HTSERVINFO_RESPLEN] */
HTENUM_MAX_SERVINFO
} HTSERVINFO; /* htServerGetInfo items (given with type) */
/*******************************************************************
***** Database definitions
*******************************************************************/
/*******************************************************************
***** Cursor definitions
*******************************************************************/
/* Cursor-level option enumeration */
typedef enum
{
HTENUM_ILLEGAL_CUROPT = 0,
HTCUROPT_BULK_STORE = 1, /* bulk store flag
type: HTBOOL (default = FALSE) */
HTCUROPT_STRICT_BIND = 2, /* strict field bind flag
type: HTBOOL (default = TRUE) */
HTCUROPT_VIEW_POSITION = 3, /* result set indexing flag
type: HTBOOL (default = FALSE) */
HTCUROPT_FETCH_SUMMARY = 4, /* document fetch summary flag
type: HTBOOL (default = FALSE) */
HTCUROPT_SUMMARY_LIMIT = 5, /* item summary limit length
type: HTINT (default = 8192)
(max = HTLEN_SUMMARY_DATA) */
HTENUM_MAX_CUROPT
} HTCUROPT; /* htCurSetOption options (given with type and default) */
/* Cursor-level information retrieval items */
typedef enum
{
HTENUM_ILLEGAL_CURINFO = 0,
HTCURINFO_SERVERNAME = 1, /* Notes server name
type: char [HTLEN_SERVERNAME] */
HTCURINFO_FILENAME = 2, /* Notes database relative filepath
type: char [HTLEN_FILENAME] */
HTCURINFO_FORMNAME = 3, /* Active form name
type: char [HTLEN_DESIGNNAME] */
HTCURINFO_VIEWNAME = 4, /* Active view name
type: char [HTLEN_DESIGNNAME] */
HTCURINFO_DBTITLE = 5, /* Notes database title
type: char [HTLEN_DATABASEINFO] */
HTCURINFO_DBCATEGORIES = 6, /* Notes database categories
type: char [HTLEN_DATABASEINFO] */
HTCURINFO_DBTEMPLATE = 7, /* Template name for this database
type: char [HTLEN_DATABASEINFO] */
HTCURINFO_DBDESIGNTEMPLATE = 8, /* Template this database was created from
type: char [HTLEN_DATABASEINFO] */
HTCURINFO_DBHANDLE = 9, /* Standard Notes API database handle
type: Notes API DBHANDLE */
HTCURINFO_DBID = 10, /* Standard Notes API database ID
type: Notes API DBID */
HTENUM_MAX_CURINFO
} HTCURINFO; /* htCurGetInfo items (given with type) */
/*******************************************************************
***** Form definitions
*******************************************************************/
/* Flags prefixed with HTFORM_ define the attributes of a form,
and are used in the HTFORM structure below */
#define HTFORM_USE_REFERENCE 0x0001 /* Use reference note */
#define HTFORM_MAIL_ON_SAVE 0x0002 /* Mail when saving document */
#define HTFORM_RESPOSE_TO_RESP 0x0004 /* Save REFID to response */
#define HTFORM_RESPONSE_TO_DOC 0x0008 /* Save REFID to main parent */
#define HTFORM_RECALC_FIELDS 0x0010 /* Recalc fields when focus is lost */
#define HTFORM_FORM_IN_DOC 0x0020 /* Store form in document */
#define HTFORM_USE_FORE_COLOR 0x0040 /* Use foreground color to paint */
#define HTFORM_OLE_ACT_COMP 0x0100 /* Activate OLE objects at compose */
#define HTFORM_OLE_ACT_EDIT 0x0200 /* Activate OLE objects at edit */
#define HTFORM_OLE_ACT_READ 0x0400 /* Activate OLE objects at read */
#define HTFORM_SHOW_WIN_COMP 0x0800 /* Show editor window if OLE_ACT_COMP */
#define HTFORM_SHOW_WIN_EDIT 0x1000 /* Show editor window if OLE_ACT_EDIT */
#define HTFORM_SHOW_WIN_READ 0x2000 /* Show editor window if OLE_ACT_READ */
#define HTFORM_UPDATE_IS_RESP 0x4000 /* Updates become responses */
#define HTFORM_UPDATE_IS_PARENT 0x8000 /* Updates become parents */
typedef struct
{
HTFORMID formid; /* Form ID */
HTBOOL hidden; /* Whether form is hidden */
char name [HTLEN_DESIGNNAME + 1]; /* Form name */
char display_name1 [HTLEN_DISPLAYNAME + 1]; /* Primary display name */
char display_name2 [HTLEN_DISPLAYNAME + 1]; /* Secondary display name */
} HTFORMSUMM; /* htFormList summary structure */
typedef struct
{
HTFLAGS flags; /* Form flags (HTFORM_xxx) */
WORD color; /* Background color */
HTBOOL hidden; /* Whether form is hidden */
char name [HTLEN_DESIGNNAME + 1]; /* Form name */
char display_name1 [HTLEN_DISPLAYNAME + 1]; /* Primary display name */
char display_name2 [HTLEN_DISPLAYNAME + 1]; /* Secondary display name */
} HTFORM; /* Form definition structure */
/*******************************************************************
***** View definitions
*******************************************************************/
/* Flags prefixed with HTVIEW_ define the attributes of a view,
and are used in the HTVIEW structure below */
#define HTVIEW_COLLAPSED 0x0001 /* Open view collapsed
(default is expanded) */
#define HTVIEW_NO_HIERARCHY 0x0002 /* View is flat (no responses) */
#define HTVIEW_DISP_ALL_UNREAD 0x0004 /* Display unread markers in margin
for all documents */
#define HTVIEW_DISP_CONFLICT 0x0008 /* Display replication conflicts */
#define HTVIEW_DISP_MAIN_UNREAD 0x0010 /* Display unread markers in margin
only for main level documents */
#define HTVIEW_USES_TOTALS 0x0020 /* One or more columns are totalled */
typedef struct
{
HTVIEWID viewid; /* View ID */
HTBOOL hidden; /* Whether view is hidden */
char name [HTLEN_DESIGNNAME + 1]; /* View name */
char display_name1 [HTLEN_DISPLAYNAME + 1]; /* Primary display name */
char display_name2 [HTLEN_DISPLAYNAME + 1]; /* Secondary display name */
} HTVIEWSUMM; /* htViewList summary structure */
typedef struct
{
HTFLAGS flags; /* View flags (HTVIEW_xxx) */
WORD background_color; /* Background color */
HTFONT title_border_font; /* Font for title and borders */
HTFONT unread_font; /* Font for unread rows */
HTFONT totals_font; /* Font for totals and statistics */
WORD update_interval; /* Seconds between automatic updates
Use zero for no automatic update */
HTBOOL hidden; /* Whether view is hidden */
char name [HTLEN_DESIGNNAME + 1]; /* View name */
char display_name1 [HTLEN_DISPLAYNAME + 1]; /* Primary display name */
char display_name2 [HTLEN_DISPLAYNAME + 1]; /* Secondary display name */
} HTVIEW; /* View definition structure */
/*******************************************************************
***** Field definitions
*******************************************************************/
/* Flags prefixed with HTFIELD_ define the attributes of a form field,
and are used in the HTFIELD structure below */
#define HTFIELD_READWRITERS 0x0001 /* Field contains readwriter names */
#define HTFIELD_EDITABLE 0x0002 /* Field may be edited */
#define HTFIELD_NAMES 0x0004 /* Field contains distinguished names */
#define HTFIELD_STOREDV 0x0008 /* Always store default values */
#define HTFIELD_READERS 0x0010 /* Field contains document readers */
#define HTFIELD_SECTION 0x0020 /* Field contains a section */
#define HTFIELD_COMPUTED 0x0100 /* Computed field */
#define HTFIELD_KEYWORDS 0x0200 /* Keywords field */
#define HTFIELD_PROTECTED 0x0400 /* Field is protected */
#define HTFIELD_REFERENCE 0x0800 /* Name is reference to a shared field */
#define HTFIELD_SIGN 0x1000 /* Field is signed */
#define HTFIELD_SEAL 0x2000 /* Field is sealed (encrypted) */
#define HTFIELD_KWD_UI_STD 0x0000 /* Keywords UI is standard */
#define HTFIELD_KWD_UI_CHECK 0x4000 /* Keywords UI is a checkbox */
#define HTFIELD_KWD_UI_RADIO 0x8000 /* Keywords UI is a radio button */
#define HTFIELD_KWD_UI_NEW 0xC000 /* Allow new keywords */
/* Field-level information retrieval items */
typedef enum
{
HTENUM_ILLEGAL_FIELDINFO = 0,
HTFIELDINFO_DESCRIPTION = 1, /* Field description
type: char *
length: HTFIELD.desc_len */
HTFIELDINFO_KEYWORDS = 2, /* Field keywords text list
type: HTTYPE_TEXT_LIST
length: HTFIELD.keylist_len */
HTFIELDINFO_HTFIELD = 3, /* Field information
type: HTFIELD* */
HTENUM_MAX_FIELDINFO
} HTFIELDINFO; /* htFieldGetInfo items (given with type) */
typedef struct
{
HTTYPE type; /* Field data type */
char name [HTLEN_FIELDNAME + 1]; /* Field name */
HTFLAGS flags; /* Field flags (HTFIELD_xxx) */
HTINT desc_len; /* Length of the field description */
HTINT keylist_len; /* Length of the keywords text list */
} HTFIELD; /* Field definition structure */
/*******************************************************************
***** Column definitions
*******************************************************************/
/* Flags prefixed with HTCOLUMN_ define the attributes of a view column,
and are used in the HTCOLUMN structure below */
#define HTCOLUMN_SORT 0x0001 /* Column is sorted (indexed) */
#define HTCOLUMN_SORT_CAT 0x0002 /* Column is a category */
#define HTCOLUMN_SORT_DESC 0x0004 /* Sort descending (ascending is default) */
#define HTCOLUMN_HIDDEN 0x0008 /* Column is hidden */
#define HTCOLUMN_RESPONSE 0x0010 /* Column is a response-only column */
#define HTCOLUMN_HIDE_DETAIL 0x0020 /* Hide detail on subtotaled columns */
#define HTCOLUMN_ICON 0x0040 /* Display icon instead of text */
#define HTCOLUMN_JUSTIFY_RIGHT 0x0100 /* Right justify (left is default) */
#define HTCOLUMN_JUSTIFY_CENTER 0x0200 /* Center justify (left is default) */
/* A column's flags may contain only one of the following bits */
#define HTCOLUMN_TOTAL 0x1000 /* Total all values */
#define HTCOLUMN_AVG_PER_CHILD 0x2000 /* Average per child */
#define HTCOLUMN_PCT_OF_VIEW 0x3000 /* Percent of total view */
#define HTCOLUMN_PCT_OF_PARENT 0x4000 /* Percent of parent category */
#define HTCOLUMN_AVG_PER_DOC 0x5000 /* Average per document */
/* To determine whether a column is totaled, use the following mask */
#define HTCOLUMN_MASK_TOTAL 0xF000
typedef struct
{
char name [HTLEN_COLUMNNAME + 1]; /* Column name */
HTINT width; /* Display width in 1/8 avg char units */
HTFLAGS flags; /* Column flags (HTCOLUMN_xxx) */
HTFONT font; /* Column font information */
} HTCOLUMN; /* Column definition structure */
/*******************************************************************
***** Macro definitions
*******************************************************************/
typedef struct
{
HTMACROID macroid; /* Macro ID */
HTBOOL hidden; /* Whether macro is hidden */
char name [HTLEN_DESIGNNAME + 1]; /* Macro name */
char display_name1 [HTLEN_DISPLAYNAME + 1]; /* Primary display name */
char display_name2 [HTLEN_DISPLAYNAME + 1]; /* Secondary display name */
} HTMACROSUMM; /* htMacroList summary structure */
/*******************************************************************
***** Formula definitions
*******************************************************************/
/*******************************************************************
***** Index definitions
*******************************************************************/
/* Index information retrieval items */
typedef enum
{
HTENUM_ILLEGAL_INDEXINFO = 0,
HTINDEXINFO_ISSELECT = 1, /* Whether a selection index exists
type: HTBOOL */
HTINDEXINFO_ISVIEWBASED = 2, /* Whether the index is view-based
type: HTBOOL */
HTINDEXINFO_ISFTSEARCH = 3, /* Whether the index is a full text search
type: HTBOOL */
HTINDEXINFO_VIEWDEPTH = 4, /* View depth of current index entry
type: HTINT */
HTINDEXINFO_FTSCORE = 5, /* FT relevance score of current index entry
type: HTINT */
HTENUM_MAX_INDEXINFO
} HTINDEXINFO; /* htIndexGetInfo items (given with type) */
/* navigation directions enumeration. One member of the following
enumeration is OR-ed with zero or more HTNAV_ flags (see below)
to produce the htIndexNavigate direction parameter */
typedef enum
{
HTENUM_ILLEGAL_NAV = 0,
HTNAV_NEXT = 1, /* Navigate next (depth-first) */
HTNAV_END = 2, /* Navigate to the end */
HTNAV_PEER = 3, /* Navigate at the current level */
HTNAV_CHILD = 4, /* Navigate one level down (not with BACKWARD) */
HTNAV_PARENT = 5, /* Navigate one level up */
HTNAV_MAIN = 6, /* Navigate at the top level */
HTNAV_CURRENT = 7, /* Stay on the current entry */
HTENUM_MAX_NAV
} HTNAV;
/* Flags prefixed with HTNAV_ define the modifiers available for index
navigation. Zero or more of these flags are OR-ed with one member
of the HTNAV enumeration above to produce a navigation direction */
#define HTNAV_PEEK 0x0100 /* Restore current index position */
#define HTNAV_BACKWARD 0x0200 /* Go backward (default is forward) */
#define HTNAV_NOCATEGORY 0x1000 /* Ignore category rows (view only) */
#define HTNAV_NOVIEWTOTAL 0x2000 /* Include total rows (view only) */
#define HTNAV_MASK 0x00FF /* Value to mask out navigation flags */
/* Special HTDOCID values returned by htIndexNavigate for category or
view totals rows */
#define HTINDEX_DOCID_CATEGORY -1 /* Docid value for category row */
#define HTINDEX_DOCID_VIEWTOTAL -2 /* Docid value for view total row */
/* Flags prefixed with HTSEARCH_ define the flags available for full
text search via htIndexSearch */
#define HTSEARCH_SCORE 0x0001 /* Score results */
#define HTSEARCH_SORT_DATE 0x0002 /* Sort by date (descending) */
#define HTSEARCH_SORT_ASCEND 0x0004 /* Sort ascending (default is descending) */
#define HTSEARCH_STEM_WORDS 0x0008 /* Stem words */
#define HTSEARCH_REFINE 0x0010 /* Refine previous search results */
#define HTSEARCH_CANCEL 0x1000 /* Cancel FT search results */
/*******************************************************************
***** Document definitions
*******************************************************************/
/* Document information retrieval items */
typedef enum
{
HTENUM_ILLEGAL_DOCINFO = 0,
HTDOCINFO_LASTMODIFIED = 1, /* Last time document was modified
type: HTTYPE_DATETIME */
HTDOCINFO_FORMNAME = 2, /* Form name for this document
type: char [HTLEN_DESIGNNAME] */
HTDOCINFO_TITLELENGTH = 3, /* Document window title string length
type: HTINT */
HTDOCINFO_TITLESTRING = 4, /* Document window title string
type: char [HTDOCINFO_TITLELENGTH] */
HTDOCINFO_ISDIRTY = 5, /* Whether data has been changed
type: HTBOOL */
HTDOCINFO_HTDOCID = 6, /* HiTest Document ID for this document
type: HTDOCID */
HTDOCINFO_HTCURSOR = 7, /* HiTest Cursor in which document was opened
type: HTCURSOR */
HTDOCINFO_NOTEID = 8, /* Standard Notes API note ID
type: Notes API NOTEID */
HTDOCINFO_NOTEHANDLE = 9, /* Standard Notes API note hanle
type: Notes API NOTEHANDLE */
HTDOCINFO_FILECOUNT = 10, /* Number of file attachments
type: HTINT */
HTDOCINFO_CREATED = 11, /* Time document was created
type: HTTYPE_DATETIME */
HTENUM_MAX_DOCINFO
} HTDOCINFO; /* htDocGetInfo items (given with type) */
/*******************************************************************
***** Item definitions
*******************************************************************/
/* Response item name - use this constant to get or put the reference
field of a document */
#define HTNAME_REF "$REF" /* Reference field */
/* Flags prefixed with HTITEM_ define the attributes of a document item,
and are used in the HTITEM structure below */
#define HTITEM_SIGN 0x0001 /* Signed field */
#define HTITEM_SEAL 0x0002 /* Sealed field (encrypted) */
#define HTITEM_SUMMARY 0x0004 /* Summary field (usable in formulas) */
#define HTITEM_READWRITERS 0x0020 /* Author Names field */
#define HTITEM_NAMES 0x0040 /* Names field */
#define HTITEM_PROTECTED 0x0200 /* To edit field requires Editor access */
#define HTITEM_READERS 0x0400 /* Reader Names field */
typedef struct
{
HTTYPE type; /* Item data type */
char name [HTLEN_FIELDNAME + 1]; /* Item name */
HTFLAGS flags; /* Item flags (HTITEM_xxx) */
HTINT length; /* Item value length */
void *value; /* Item value (if requested) */
} HTITEM; /* Item iterator information structure */
/* Item information retrieval items */
typedef enum
{
HTENUM_ILLEGAL_ITEMINFO = 0,
HTITEMINFO_TYPE = 1, /* Type of the item
type: HTTYPE */
HTITEMINFO_FLAGS = 2, /* Flags for the item
type: HTFLAGS */
HTITEMINFO_LENGTH = 3, /* Length of the item without conversion
type: HTINT */
HTENUM_MAX_ITEMINFO
} HTITEMINFO; /* htItemGetInfo items (given with type) */
/*******************************************************************
***** Cell definitions
*******************************************************************/
/*******************************************************************
***** File definitions
*******************************************************************/
/*******************************************************************
***** Mail definitions
*******************************************************************/
/* Flags prefixed with HTMAIL_ define options when sending mail */
#define HTMAIL_PRIORITY_LOW 0x0001 /* Send low priority (default-normal) */
#define HTMAIL_PRIORITY_HIGH 0x0002 /* Send high priority (default-normal) */
#define HTMAIL_REPORT_NONE 0x0004 /* No delivery report (default-basic) */
#define HTMAIL_REPORT_CONFIRM 0x0008 /* Confirmed report (default-basic) */
#define HTMAIL_RETURN_RECEIPT 0x0010 /* Return receipt (default-no receipt) */
#define HTMAIL_SAVE 0x0100 /* Save document when sending */
#define HTMAIL_SAVE_MAILDB 0x0200 /* Save document in mail database */
#define HTMAIL_BOUND_ITEMS 0x1000 /* Use bound fields as mail fields */
#define HTMAIL_EMBED_FORM 0x2000 /* Embed the DOCID's form in the document */
/* Item names for common memo fields are given below */
#define HTMAIL_ITEM_SENDTO "SendTo"
#define HTMAIL_ITEM_COPYTO "CopyTo"
#define HTMAIL_ITEM_BLINDCOPYTO "BlindCopyTo"
#define HTMAIL_ITEM_SUBJECT "Subject"
#define HTMAIL_ITEM_BODY "Body"
#define HTMAIL_ITEM_DELIVERYPRIORITY "DeliveryPriority"
#define HTMAIL_ITEM_DELIVERYREPORT "DeliveryReport"
#define HTMAIL_ITEM_RETURNRECEIPT "ReturnReceipt"
/* The following HTMAIL structure may be uesd to submit one or more
mail memo fields to the htMailSend function */
typedef struct
{
char *sendto; /* Separate names with semicolons or commas */
char *copyto; /* Separate names with semicolons or commas */
char *blindcopyto; /* Separate names with semicolons or commas */
char *subject; /* Subject field */
char *body_text; /* If this is NULL, use body_comp */
HTCOMPHANDLE body_comp; /* If this is NULL, use body_text */
} HTMEMO; /* Simple mail memo structure */
/*******************************************************************
***** Composite definitions
*******************************************************************/
/* Composite information retrieval items */
typedef enum
{
HTENUM_ILLEGAL_COMPINFO = 0,
HTCOMPINFO_ITEMNAME = 1, /* Item name within the document
type: char [HTLEN_FIELDNAME] */
HTCOMPINFO_ISDIRTY = 2, /* Whether data has been changed
type: HTBOOL */
HTCOMPINFO_HTDOCHANDLE = 3, /* HiTest document containing this composite
type: HTDOCID */
HTCOMPINFO_HTCURSOR = 4, /* HiTest Cursor in which composite was opened
type: HTCURSOR */
HTENUM_MAX_COMPINFO
} HTCOMPINFO; /* htGetCompInfo items given with type */
/* The following value may be used as the tab_spaces parameter to
htCompListText and indicates that tabs should be kept */
#define HTCOMPTAB_KEEP -1
/*******************************************************************
***** Composite record definitions
*******************************************************************/
/* Composite record data type enumeration - the record types are given
with the structure used to get or put data */
typedef enum
{
HTENUM_ILLEGAL_COMP = 0,
HTCOMP_BLOB = 1, /* Generic composite data (HTC_BLOB) */
HTCOMP_PABDEF = 2, /* PAB definition (HTC_PABDEF) */
HTCOMP_PABREF = 3, /* PAB reference (HTC_PABREF) */
HTCOMP_PARA = 4, /* Paragraph indicator (no data) */
HTCOMP_TEXT = 5, /* Text record (HTC_TEXT) */
HTCOMP_DOCLINK = 6, /* Doclink (HTC_DOCLINK) */
HTCOMP_DDE = 7, /* DDE object beginning (HTC_DDE) */
HTCOMP_DDE_END = 8, /* DDE object end marker (no data) */
HTCOMP_OLE = 9, /* OLE objet beginning (HTC_OLE) */
HTCOMP_OLE_END = 10, /* OLE object end marker (no data) */
HTENUM_MAX_COMP
} HTCOMP; /* API composite record types */
typedef struct
{
HTINT length; /* Length of data (including header) */
char *buffer; /* Pointer to data (including header) */
} HTC_BLOB; /* Generic composite record structure */
/* NOTE: The acronym PAB stands for Paragraph Attribute Block, a
set of values defining paragraph format. The following values are
used in the PAB definition structure HTC_PABDEF */
/* The following definition should be used in the PAB Definition
structure for defining margins (eg: TWIPS_PER_INCH/3 for 1/3 inch) */
#define TWIPS_PER_INCH 1440 /* Number of twips in one inch */
/* PABDEF justification enumeration used in HTC_PABDEF justify field */
#define HTPABJUSTIFY_LEFT 0 /* Left justification */
#define HTPABJUSTIFY_RIGHT 1 /* Right justification */
#define HTPABJUSTIFY_FULL 2 /* Full (left and right) justification */
#define HTPABJUSTIFY_CENTER 3 /* Center justification */
#define HTPABJUSTIFY_NONE 4 /* No word wrap */
/* PABDEF flags used in HTC_PABDEF flags field */
#define HTPAB_PAGE_BEFORE 0x0001 /* Paragraph starts a new page */
#define HTPAB_KEEP_WITH_NEXT 0x0002 /* Keep with next paragraph */
#define HTPAB_KEEP_TOGETHER 0x0004 /* Don't split lines in paragraph */
#define HTPAB_PROPAGATE 0x0008 /* Propagate PAGE_BEFORE and KEEP_WITH_NEXT */
#define HTPAB_HIDE_READ 0x0010 /* Hide para in view mode */
#define HTPAB_HIDE_EDIT 0x0020 /* Hide para in edit mode */
#define HTPAB_HIDE_PRINT 0x0040 /* Hide para when printing */
#define HTPAB_DISPLAY_RIGHT 0x0080 /* Honor right margin when displaying */
#define HTPAB_HIDE_COPY 0x0200 /* Hide para when copying/forwarding */
typedef struct
{
WORD pabid; /* ID for this PABDEF */
WORD justify; /* Justification method (HTPABJUSTIFY_xxx) */
WORD linespace; /* 2 * (line spacing - 1) */
WORD paraspace_before; /* Linespace units before paragraph */
WORD paraspace_after; /* Linespace units after paragraph */
WORD left_margin; /* Left margin, in twips (1/1440 inch)
Notes default is TWIPS_PER_INCH */
WORD right_margin; /* Rigth margin, in twips
Zero means 1" from right edge */
WORD first_left_margin; /* First line left margin, in twips */
WORD tab_count; /* Number of tab stops in tabs table */
short int tabs [20]; /* Tab stops, in twips */
/* Negative value means decimal tab */
WORD flags; /* PABDEF flags (HTPAB_xxx) */
} HTC_PABDEF; /* Composite record PAB definition */
typedef struct
{
WORD pabid; /* ID of the PABDEF to reference */
} HTC_PABREF; /* Composite record PAB reference */
typedef struct
{
HTFONT font; /* Text font */
HTINT length; /* Length of data. Zero indicates no text */
char *buffer; /* Pointer to data */
} HTC_TEXT; /* Composite record text block */
typedef struct
{
HTCURSOR cursor; /* Cursor containing document */
HTVIEWID viewid; /* View to which the link will point */
HTDOCHANDLE dochand; /* Document to which the link will point */
WORD comment_length; /* Length of display comment
Use zero on input for null terminated */
char *comment; /* Link display comment. If omitted on input
(empty or NULL), will be built by HiTest */
HTBOOL read_comment_only; /* When reading, whether to only retrieve the
comment (TRUE), or to open the cursor and
document handle (FALSE) */
} HTC_DOCLINK; /* Composite record doclink */
/* Clipboard format constants used for both DDE and OLE records */
#define HTCLIP_TEXT 0x0001 /* Text */
#define HTCLIP_METAFILE 0x0002 /* Metafile or MetafilePict */
#define HTCLIP_BITMAP 0x0003 /* Bitmap */
#define HTCLIP_RTF 0x0004 /* Rich text format */
/* DDE constants used in HTC_DDE structure */
#define HTLEN_DDE_SERVER 32
#define HTLEN_DDE_TOPIC 100
#define HTLEN_DDE_ITEM 64
#define HTDDE_HOTLINK 0x0001 /* Hot DDE link */
#define HTDDE_WARMLINK 0x0002 /* Warm DDE link */
#define HTDDE_ISEMBED 0x0004 /* Embedded document is used */
typedef struct
{
char server_name [HTLEN_DDE_SERVER]; /* Null terminated DDE server name */
char topic_name [HTLEN_DDE_TOPIC]; /* Null terminated DDE topic name */
char item_name [HTLEN_DDE_ITEM]; /* Null terminate DDE item name */
HTINT flags; /* DDE flags (HTDDE_xxx) */
WORD embed_count; /* Number of embedded docs (0 or 1) */
WORD clipboard; /* Clipboard format (HTCLIP_xxx) */
WORD embed_length; /* Length of embedded document name */
char *embed_name; /* Embedded document name */
} HTC_DDE; /* Composite record DDE object starting point */
/* OLE constants used in HTC_OLE structure */
#define HTOLE_EMBEDDED 0x0001 /* object is OLE embedded object */
#define HTOLE_LINK 0x0002 /* object is OLE link object */
#define HTOLE_HOTLINK 0x0004 /* OLE link is automatic (hot) */
#define HTOLE_WARMLINK 0x0008 /* OLE link is manual (warm) */
typedef struct
{
HTINT flags; /* OLE flags (HTOLE_xxx) */
WORD clipboard; /* Clipboard format (HTCLIP_xxx) */
WORD file_length; /* Length of attached file name -
First string in name_buffer */
WORD class_length; /* Length of class name (optional) -
Second string in name_buffer */
WORD template_length; /* Length of template name (optional) -
Third string in name_buffer */
char *name_buffer; /* Name buffer containing 1-3 names,
lengths given in xxx_length fields */
} HTC_OLE; /* Composite record OLE object starting point */
/*******************************************************************
***** Text List definitions
*******************************************************************/
/*******************************************************************
***** Datetime definitions
*******************************************************************/
/* Datetime structure - do not manipulate directly */
typedef struct
{
DWORD innards [2];
} HTDATETIME; /* Datetime structure */
typedef struct
{
short int year; /* Year (1-32767) */
short int month; /* Month (1-12) */
short int dom; /* Day of month (1-31) */
short int weekday; /* Day of week (1-7 where Sunday = 1) */
short int hour; /* Hour (0-23) */
short int minute; /* Minute (0-59) */
short int second; /* Second (0-59) */
short int hundsec; /* Hundredths of second (0-99) */
HTBOOL dst; /* Whether daylight savings is in effect */
short int zone; /* Time zone (-11 to 11) */
} HTTIMESUMM; /* Datetime component structure */
/* Datetime information retrieval items */
typedef enum
{
HTENUM_ILLEGAL_TIMEINFO = 0,
HTTIMEINFO_JULIAN = 1, /* Julian date
type: HTINT */
HTTIMEINFO_TICKS = 2, /* Ticks (1/100 seconds) since midnight GMT
type: HTINT */
HTTIMEINFO_HTTIMESUMM = 3, /* Datetime components structure
type: HTTIMESUMM */
HTENUM_MAX_TIMEINFO
} HTTIMEINFO; /* htGetDatetimeInfo items given with type */
/*******************************************************************
***** Error definitions
*******************************************************************/
typedef enum
{
HTSEVERITY_NOERROR = 0, /* No error */
HTSEVERITY_WARNING = 1, /* Warning-level error */
HTSEVERITY_NONFATAL = 2, /* Normal error */
HTSEVERITY_USAGE = 3, /* Error in calling program's usage */
HTSEVERITY_FATAL = 4, /* Fatal error */
HTSEVERITY_PROGRAM = 10 /* Internal software error - contact Edge Research */
} HTSEVERITY;
/* A return code of zero always indicates successful operation */
#define HTSUCCESS 0x0000 /* Successful operation */
#define HTFAIL_GENERAL 0x0100 /* GENERAL ERRORS */
#define HTFAIL_NOTES_ERROR 0x0101 /* Notes-specific error produced */
#define HTFAIL_PROGRAM 0x0102 /* Program failure */
#define HTFAIL_ILLEGAL_ENUM 0x0103 /* A enumerated parameter had an illegal value */
#define HTFAIL_NULL_PARAMETER 0x0104 /* A pointer parameter of NULL is illegal */
#define HTFAIL_OVERFLOW 0x0105 /* Data too large for result buffer */
#define HTFAIL_DUPLICATE 0x0106 /* Illegal duplicate */
#define HTFAIL_BAD_FORMAT 0x0107 /* A parameter had a bad format */
#define HTFAIL_END_OF_DATA 0x0108 /* There is no more data left */
#define HTFAIL_DATA_UNAVAIL 0x0109 /* No data results to load */
#define HTFAIL_GLOBAL 0x0200 /* GLOBAL-LEVEL ERRORS */
#define HTFAIL_INCORRECT_DLL 0x0201 /* Calling program was compiled with an
incompatible version of the HiTest DLL */
#define HTFAIL_ALREADY_INIT 0x0202 /* htinit called when already initialized */
#define HTFAIL_NOT_INIT 0x0203 /* htxxxx called before htinit */
#define HTFAIL_INVALID_CONVERT 0x0204 /* An illegal conversion was attempted */
#define HTFAIL_SERVER 0x0300 /* SESSION-LEVEL ERRORS */
#define HTFAIL_DATABASE 0x0400 /* DATABASE-LEVEL ERRORS */
#define HTFAIL_INVALID_DATABASE 0x0401 /* Invalid database */
#define HTFAIL_CURSOR 0x0500 /* CURSOR-LEVEL ERRORS */
#define HTFAIL_INVALID_CURSOR 0x0501 /* Invalid cursor */
#define HTFAIL_OPEN_DOCUMENTS 0x0502 /* htclose called with open documents */
#define HTFAIL_ACTIVE_RESULT 0x0503 /* An active result prevents the operation */
#define HTFAIL_FORM 0x0700 /* FORM-LEVEL ERRORS */
#define HTFAIL_INVALID_FORM 0x0701 /* Invalid form */
#define HTFAIL_FORM_UNAVAIL 0x0702 /* Strict binding is on but no form is set */
#define HTFAIL_VIEW 0x0800 /* VIEW-LEVEL ERRORS */
#define HTFAIL_INVALID_VIEW 0x0801 /* Invalid view */
#define HTFAIL_FIELD 0x0900 /* FIELD-LEVEL ERRORS */
#define HTFAIL_INVALID_FIELD 0x0901 /* A field was not in the form with strict_bind */
#define HTFAIL_COLUMN 0x0A00 /* COLUMN-LEVEL ERRORS */
#define HTFAIL_INVALID_COLUMN 0x0A01 /* A column not in the view was specified */
#define HTFAIL_MACRO 0x0B00 /* MACRO-LEVEL ERRORS */
#define HTFAIL_INVALID_MACRO 0x0B01 /* Invalid macro */
#define HTFAIL_FORMULA 0x0C00 /* FORMULA-LEVEL ERRORS */
#define HTFAIL_INVALID_FORMULA 0x0C01 /* An error encountered parsing a formula */
#define HTFAIL_INDEX 0x0D00 /* INDEX-LEVEL ERRORS */
#define HTFAIL_INVALID_NAVTYPE 0x0D01 /* View-navigation attempted on flat index */
#define HTFAIL_DOCUMENT 0x0E00 /* DOCUMENT-LEVEL ERRORS */
#define HTFAIL_INVALID_DOCUMENT 0x0E01 /* Invalid HTDOCHANDLE or HTDOCID */
#define HTFAIL_ITEM 0x0F00 /* ITEM-LEVEL ERRORS */
#define HTFAIL_INVALID_ITEM 0x0F01 /* Invalid item name */
#define HTFAIL_CELL 0x1000 /* CELL-LEVEL ERRORS */
#define HTFAIL_FILE 0x1100 /* FILE-LEVEL ERRORS */
#define HTFAIL_INVALID_DIRECTORY 0x1101 /* Invalid directory */
#define HTFAIL_INVALID_FILE_ITEM 0x1102 /* Invalid file attachment */
#define HTFAIL_MAIL 0x1200 /* MAIL-LEVEL ERRORS */
#define HTFAIL_COMPOSITE 0x1300 /* COMPOSITE-LEVEL ERRORS */
#define HTFAIL_INVALID_COMPOSITE 0x1301 /* Invalid HTCOMPHANDLE */
#define HTFAIL_INVALID_IMPEXP 0x1302 /* An invalid import/export library was used */
#define HTFAIL_INVALID_FONT 0x1303 /* A font was not in the document font table */
#define HTFAIL_COMPREC 0x1400 /* COMPREC-LEVEL ERRORS */
#ifdef OS_OS22
#define HTAPIERR _Optlink
#define HTAPIERRTYPE * HTAPIERR
#else
#define HTAPIERR pascal
#define HTAPIERRTYPE HTAPIERR *
#endif
/* The error callback procedure HTERRORPROC is prototyped as follows */
typedef HTSTATUS (HTAPIERRTYPE HTERRORPROC) (HTSTATUS code,
HTSEVERITY severity,
char *errmsg,
void *buffer);
/*******************************************************************
***** API functions
*******************************************************************/
#ifdef OS_OS22
#define HTAPIX
#define HTAPIV
#else
#define HTAPIX pascal far _export _loadds
#define HTAPIV cdecl far _export _loadds
#endif
/* The following definition is required for Microsoft vararg exporting */
#ifndef OS_OS22
#define htFormulaConcatf HTFORMULACONCATF
#endif
/* Cursor level functions */
extern HTSTATUS HTAPIX htInit (void);
extern HTSTATUS HTAPIX htTerm (void);
extern HTSTATUS HTAPIX htSetOption (HTGLOBOPT option, HTINT number, char *string);
extern HTSTATUS HTAPIX htGetInfo (HTGLOBINFO item, void *buffer);
extern HTSTATUS HTAPIX htGetEnvString (char *name, HTINT length, char *value);
extern HTSTATUS HTAPIX htSetEnvString (char *name, char *value, HTBOOL create,
HTBOOL overwrite);
extern HTINT HTAPIX htConvertLength (HTTYPE src_type, HTINT src_len,
void *src_buffer, HTTYPE dest_type);
extern HTSTATUS HTAPIX htConvert (HTTYPE src_type, HTINT src_len, void *src_buffer,
HTTYPE dest_type, HTINT dest_len, void *dest_buffer,
HTINT *actual_len);
extern HTSTATUS HTAPIX htAddinSetStatus (HTBOOL show, char *status);
extern HTSTATUS HTAPIX htAddinPutMsg (HTBOOL error, char *string);
extern HTSTATUS HTAPIX htAddinSetInterval (HTINT interval);
extern HTSTATUS HTAPIX htAddinGetInterval (HTBOOL wait, HTINT *interval,
HTINT *iteration);
extern HTSTATUS HTAPIX htAddinYield (HTINT delay_msec);
extern HTSTATUS HTAPIX htServerList (HTLIST operation, char *server);
extern HTSTATUS HTAPIX htServerGetInfo (char *server, HTSERVINFO item, void *buffer);
extern HTSTATUS HTAPIX htServerExec (char *server, char *command);
extern HTSTATUS HTAPIX htDbList (char *server, char *searchdir, HTLIST operation,
HTBOOL recurse, HTBOOL *isdatabase,
char *database, char *datafile);
extern HTSTATUS HTAPIX htDbListCat (char *server, HTLIST operation, char *database,
char *datapath);
extern HTSTATUS HTAPIX htDbGetPath (char *server, char *directory, char *title,
HTBOOL catalog, char *datapath);
extern HTSTATUS HTAPIX htCurOpen (char *server, char *datapath, HTCURSOR *cursor);
extern HTSTATUS HTAPIX htCurClose (HTCURSOR cursor, HTBOOL force);
extern HTSTATUS HTAPIX htCurGetInfo (HTCURSOR cursor, HTCURINFO item, void *buffer);
extern HTSTATUS HTAPIX htCurSetOption (HTCURSOR cursor, HTCUROPT option, HTINT number,
char *string);
extern HTSTATUS HTAPIX htCurReset (HTCURSOR cursor);
extern HTSTATUS HTAPIX htFormList (HTCURSOR cursor, HTLIST operation,
HTFORMSUMM *formsumm);
extern HTFORMID HTAPIX htFormGetId (HTCURSOR cursor, char *formname);
extern HTSTATUS HTAPIX htFormGetAttrib (HTCURSOR cursor, HTFORMID formid,
HTFORM *form);
extern HTSTATUS HTAPIX htFormCopy (HTCURSOR src_cursor, HTFORMID src_formid,
HTCURSOR dest_cursor, char *dest_formname,
HTFORMID *dest_formid);
extern HTSTATUS HTAPIX htFormDelete (HTCURSOR cursor, HTFORMID formid);
extern HTSTATUS HTAPIX htFormSet (HTCURSOR cursor, HTFORMID formid);
extern HTSTATUS HTAPIX htFormTemplate (HTCURSOR cursor, char *formname);
extern HTSTATUS HTAPIX htViewList (HTCURSOR cursor, HTLIST operation,
HTVIEWSUMM *viewsumm);
extern HTVIEWID HTAPIX htViewGetId (HTCURSOR cursor, char *viewname);
extern HTSTATUS HTAPIX htViewGetAttrib (HTCURSOR cursor, HTVIEWID viewid,
HTVIEW *view);
extern HTSTATUS HTAPIX htViewCopy (HTCURSOR src_cursor, HTVIEWID src_viewid,
HTCURSOR dest_cursor, char *dest_viewname,
HTVIEWID *dest_viewid);
extern HTSTATUS HTAPIX htViewDelete (HTCURSOR cursor, HTVIEWID viewid);
extern HTSTATUS HTAPIX htViewSet (HTCURSOR cursor, HTVIEWID viewid);
extern HTSTATUS HTAPIX htFieldCount (HTCURSOR cursor, HTFORMID formid,
HTINT *fieldcount);
extern HTSTATUS HTAPIX htFieldList (HTCURSOR cursor, HTFORMID formid, HTBOOL first,
HTFIELD *field);
extern HTSTATUS HTAPIX htFieldGetInfo (HTCURSOR cursor, HTFORMID formid,
char *fieldname, HTFIELDINFO item,
void *buffer);
extern HTSTATUS HTAPIX htColumnCount (HTCURSOR cursor, HTVIEWID viewid,
HTINT *colcount);
extern HTSTATUS HTAPIX htColumnList (HTCURSOR cursor, HTVIEWID viewid, HTBOOL first,
HTCOLUMN *column);
extern HTSTATUS HTAPIX htMacroList (HTCURSOR cursor, HTLIST operation,
HTMACROSUMM *macrosumm);
extern HTMACROID HTAPIX htMacroGetId (HTCURSOR cursor, char *macroname);
extern HTSTATUS HTAPIX htMacroCopy (HTCURSOR src_cursor, HTMACROID src_macroid,
HTCURSOR dest_cursor, char *dest_macroname,
HTMACROID *dest_macroid);
extern HTSTATUS HTAPIX htMacroDelete (HTCURSOR cursor, HTMACROID macroid);
extern HTSTATUS HTAPIX htMacroExec (HTCURSOR cursor, HTMACROID macroid,
HTINT *total_count, HTINT *action_count);
extern HTSTATUS HTAPIX htFormulaConcat (HTCURSOR cursor, char *string);
extern HTSTATUS HTAPIV htFormulaConcatf (HTCURSOR cursor, char *format, ...);
extern HTINT HTAPIX htFormulaLength (HTCURSOR cursor);
extern HTINT HTAPIX htFormulaCopy (HTCURSOR cursor, HTINT start, HTINT count,
char *buffer);
extern HTSTATUS HTAPIX htFormulaReset (HTCURSOR cursor);
extern HTSTATUS HTAPIX htFormulaExec (HTCURSOR cursor);
extern HTSTATUS HTAPIX htIndexGetInfo (HTCURSOR cursor, HTINDEXINFO item, void *buffer);
extern HTINT HTAPIX htIndexCount (HTCURSOR cursor);
extern HTSTATUS HTAPIX htIndexNavigate (HTCURSOR cursor, HTNAV direction,
HTDOCID *docid, HTINT *indent);
extern HTINT HTAPIX htIndexGetPos (HTCURSOR cursor);
extern HTSTATUS HTAPIX htIndexSetPos (HTCURSOR cursor, HTINT position);
extern HTSTATUS HTAPIX htIndexGetTreePos (HTCURSOR cursor, HTINT length,
char *position);
extern HTSTATUS HTAPIX htIndexSetTreePos (HTCURSOR cursor, char *position);
extern HTSTATUS HTAPIX htIndexRefresh (HTCURSOR cursor);
extern HTSTATUS HTAPIX htIndexSearch (HTCURSOR cursor, char *query, HTFLAGS flags,
HTINT limit);
extern HTSTATUS HTAPIX htDocFetch (HTCURSOR cursor, HTDOCHANDLE *dochand);
extern HTSTATUS HTAPIX htDocPut (HTCURSOR cursor, HTDOCID *docid);
extern HTSTATUS HTAPIX htDocCopy (HTCURSOR src_cursor, HTDOCID src_docid,
HTCURSOR dest_cursor, HTVIEWID viewid,
HTDOCID *dest_docid);
extern HTSTATUS HTAPIX htDocOpen (HTCURSOR cursor, HTDOCID docid, HTBOOL summary,
HTDOCHANDLE *dochand);
extern HTSTATUS HTAPIX htDocClose (HTDOCHANDLE dochand, HTBOOL commit);
extern HTSTATUS HTAPIX htDocCreate (HTCURSOR cursor, char *formname,
HTDOCHANDLE *dochand);
extern HTSTATUS HTAPIX htDocGetInfo (HTDOCHANDLE dochand, HTDOCINFO item, void *buffer);
extern HTSTATUS HTAPIX htDocUpdate (HTCURSOR cursor);
extern HTSTATUS HTAPIX htDocDelete (HTCURSOR cursor, HTDOCID docid, HTVIEWID viewid);
extern HTSTATUS HTAPIX htItemBind (HTCURSOR cursor, char *itemname, HTTYPE type,
HTINT length, HTTYPE itemtype, void *buffer,
HTINT *datalen, HTBOOL *nullind, HTBOOL *update);
extern HTSTATUS HTAPIX htItemUnbind (HTCURSOR cursor, char *itemname);
extern HTSTATUS HTAPIX htItemCount (HTDOCHANDLE dochand, HTINT *itemcount);
extern HTSTATUS HTAPIX htItemList (HTDOCHANDLE dochand, HTBOOL first,
HTBOOL getvalue, HTITEM *item);
extern HTSTATUS HTAPIX htItemGetInfo (HTDOCHANDLE dochand, char *itemname,
HTITEMINFO item, void *buffer);
extern HTSTATUS HTAPIX htItemLength (HTDOCHANDLE dochand, char *itemname,
HTTYPE *type, HTTYPE *itemtype, HTINT *length);
extern HTSTATUS HTAPIX htItemFetch (HTDOCHANDLE dochand, char *itemname,
HTTYPE *type, HTINT *length, HTTYPE *itemtype,
void *buffer);
extern HTSTATUS HTAPIX htItemGetPtr (HTDOCHANDLE dochand, char *itemname,
HTTYPE *type, HTINT *length, HTTYPE *itemtype,
void **buffer);
extern HTSTATUS HTAPIX htItemPut (HTDOCHANDLE dochand, char *itemname, HTTYPE type,
HTINT length, HTTYPE itemtype, void *buffer);
extern HTSTATUS HTAPIX htItemDelete (HTDOCHANDLE dochand, char *itemname);
extern HTSTATUS HTAPIX htCellBind (HTCURSOR cursor, HTINT column, HTTYPE type,
HTINT length, void *buffer, HTINT *datalen);
extern HTSTATUS HTAPIX htCellUnbind (HTCURSOR cursor, HTINT column);
extern HTSTATUS HTAPIX htCellLength (HTCURSOR cursor, HTINT column, HTTYPE type,
HTINT *length);
extern HTSTATUS HTAPIX htCellFetch (HTCURSOR cursor, HTINT column, HTTYPE *type,
HTINT *length, void *buffer);
extern HTSTATUS HTAPIX htFileList (HTDOCHANDLE dochand, HTBOOL first, char *filename);
extern HTSTATUS HTAPIX htFileFetch (HTDOCHANDLE dochand, char *directory,
char *filename);
extern HTSTATUS HTAPIX htFilePut (HTDOCHANDLE dochand, char *filepath);
extern HTSTATUS HTAPIX htFileDelete (HTDOCHANDLE dochand, char *filename);
extern HTSTATUS HTAPIX htMailSend (HTCURSOR cursor, HTDOCID maildoc, HTMEMO *memo,
HTFLAGS flags);
extern HTSTATUS HTAPIX htCompGetInfo (HTCOMPHANDLE comphand, HTCOMPINFO item,
void *buffer);
extern HTSTATUS HTAPIX htCompMerge (HTCOMPHANDLE maincomp, HTCOMPHANDLE addcomp,
HTINT index);
extern HTSTATUS HTAPIX htCompCreate (HTDOCHANDLE dochand, char *itemname,
HTCOMPHANDLE *newcomp);
extern HTSTATUS HTAPIX htCompCopy (HTCOMPHANDLE src_comphand,
HTDOCHANDLE dest_dochand, char *itemname,
HTCOMPHANDLE *dest_comphand);
extern HTSTATUS HTAPIX htCompCopySubset (HTCOMPHANDLE src_comphand, HTINT start,
HTINT count, HTDOCHANDLE dest_dochand,
char *itemname, HTCOMPHANDLE *dest_comphand);
extern HTSTATUS HTAPIX htCompListText (HTCOMPHANDLE comphand, HTBOOL first,
HTINT word_wrap, HTINT tab_spaces,
char *newline, HTINT length, char *buffer,
HTINT *actual_len);
extern HTSTATUS HTAPIX htCompImportList (HTBOOL first, char *format, char *extensions);
extern HTSTATUS HTAPIX htCompExportList (HTBOOL first, char *format, char *extensions);
extern HTSTATUS HTAPIX htCompImport (HTDOCHANDLE dochand, char *itemname,
char *filename, char *format,
HTFONT *default_font, HTCOMPHANDLE *comphand);
extern HTSTATUS HTAPIX htCompExport (HTCOMPHANDLE comphand, char *filename,
char *format);
#if defined (OS_WIN)
#define OSFONT LOGFONT
#endif
#ifdef OSFONT
extern HTSTATUS HTAPIX htCompGetOSFont (HTCOMPHANDLE comphand, HTFONT *htfont,
OSFONT *osfont);
extern HTSTATUS HTAPIX htCompPutOSFont (HTCOMPHANDLE comphand, OSFONT *osfont,
HTFONT *htfont);
#endif
extern HTSTATUS HTAPIX htComprecCount (HTCOMPHANDLE comphand, HTINT *count);
extern HTSTATUS HTAPIX htComprecList (HTCOMPHANDLE comphand, HTBOOL first,
HTCOMP *comptype, HTINT *index);
extern HTSTATUS HTAPIX htComprecInsert (HTCOMPHANDLE comphand, HTINT index,
HTCOMP comptype, void *compdata);
extern HTSTATUS HTAPIX htComprecUpdate (HTCOMPHANDLE comphand, HTINT index,
HTCOMP comptype, void *compdata);
extern HTSTATUS HTAPIX htComprecDelete (HTCOMPHANDLE comphand, HTINT start,
HTINT count);
extern HTSTATUS HTAPIX htComprecLength (HTCOMPHANDLE comphand, HTINT index,
HTCOMP *comptype, HTINT *length);
extern HTSTATUS HTAPIX htComprecFetch (HTCOMPHANDLE comphand, HTINT index,
HTCOMP *comptype, void *compdata);
extern HTSTATUS HTAPIX htComprecGetPtr (HTCOMPHANDLE comphand, HTINT index,
HTCOMP *comptype, void *compdata);
extern HTINT HTAPIX htTextListCount (void *textlist);
extern HTINT HTAPIX htTextListLength (void *textlist, HTINT index);
extern HTINT HTAPIX htTextListFetch (void *textlist, HTINT index, char *buffer);
extern char * HTAPIX htTextListGetPtr (void *textlist, HTINT index, HTINT *length);
extern HTSTATUS HTAPIX htDatetimeCreate (HTTIMESUMM *timesumm, HTBOOL autozone,
HTDATETIME *datetime);
extern HTSTATUS HTAPIX htDatetimeGetInfo (HTDATETIME *datetime, HTTIMEINFO item,
void *buffer);
extern HTINT HTAPIX htDatetimeCompare (HTDATETIME *datetime1, HTDATETIME *datetime2);
extern HTINT HTAPIX htDatetimeDiff (HTDATETIME *datetime1, HTDATETIME *datetime2);
extern HTSTATUS HTAPIX htDatetimeUpdate (HTTIMESUMM *timesumm, HTDATETIME *datetime);
extern HTINT HTAPIX htErrorFetch (HTINT length, HTSTATUS *status,
HTSEVERITY *severity, char *message);
extern void HTAPIX htErrorSetBuffer (HTINT length, char *buffer, HTSTATUS *status,
HTSEVERITY *severity);
extern HTERRORPROC HTAPIX htErrorSetProc (HTERRORPROC errproc, void *errparam);
/* The following definitions should be ignored - the htInit function should
be called as in the prototype above (eg: htInit () ). */
#define LIBRARY_INTERFACE_VERSION 0x0203
#define htInit() _htInit (LIBRARY_INTERFACE_VERSION)
extern HTSTATUS HTAPIX _htInit (HTINT libver);
#endif /* HTNOTES_INCL */