Every viewpoint (that is, sort/filter/column arrangement combination) has a viewpoint definition. It describes the columns and their widths, the sort fields, and the SSL string for filter matching. Only 16 viewpoints can be created.
Offset Name Type Description
------- ------------- ---------------- -----------
0...5 Record Header recordheader See recordheader structure above.
0x07 0x?? 0x?? 0x?? 0x?? 0x00
6...7 Token Length int Length of SSL Token representation
8...9 String Length int Length of SSL String representation
10...11 Flags int Flags for the viewpoint:
1 Viewpoint Unnamed: Viewpoint is the "Unnamed
viewpoint"
2 Viewpoint NoDelete: Viewpoint cannot be
deleted by user
4 Viewpoint General: Viewpoint was entered as
SSL string, not card
12 Reserved char
13...44 Name char [32] Name of viewpoint
45...50 Sort Field int [3] Index of fielddef to sort; -1 means no more
fields.
51...56 Ascending int [3] 1=ascending
0=descending for above corresponding Sort fields
57...96 ColumnArrange column info [20] Array of column information; -1 is last column
97...n SSL Tokens char SSL Tokens in RPN-style; The length is given
by Token Length.
n+1..m SSL String char String form of SSL statement
Although a complete description will not be given on how to create SSL token strings, here is a list of the recognized tokens:
0x00 ERROR_TOKEN (used only in parsing--not in SSL token strings)
0x0c LPAREN_TOKEN (used only in parsing--not in SSL token strings)
0x0d RPAREN_TOKEN (used only in parsing--not in SSL token strings)
0x01 NOT_TOKEN ( ! )
0x02 OR_TOKEN ( | )
0x03 AND_TOKEN ( & )
0x04 EQ_TOKEN ( = )
0x05 LE_TOKEN ( <= )
0x06 LT_TOKEN ( < )
0x07 GE_TOKEN ( >= )
0x08 GT_TOKEN ( > )
0x09 NE_TOKEN ( <> )
0x0a IN_TOKEN ( -> )
0x0b CONTAINS_TOKEN ( # )
0x0e SEPARATOR_TOKEN ( , )
0x0f TO_TOKEN ( ... )
0x10 NUMBER_TOKEN Followed by number in ASCIIZ (e.g. "0.235")
0x11 STRING_TOKEN Followed by string in ASCIIZ (e.g. "Hello" )
0x12 NAME_TOKEN Followed by Name index (int; fielddef index)
0x13 BOOLNAME_TOKEN Followed by BoolName index (int; fielddef index)
0x14 TIME_TOKEN Followed by time (int; minutes since midnight)
0x15 DATE_TOKEN Followed by date (3 bytes; Year+1900, Month(0..11), Date(0..30))
0x16 CATEGORY_TOKEN Followed by Category in ASCIIZ (e.g. "New;Old")
0x17 USERTYPE_TOKEN Followed by user type (char), size (int), and actual user type
data
0x1a STAR_TOKEN ( * )
0x19 PLACEHOLDER_TOKEN
0x18 EOL_TOKEN END OF TOKEN string