-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsoarDB.h
128 lines (115 loc) · 4.53 KB
/
soarDB.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
#ifndef SOARDB_H
#define SOARDB_H
#define SDB __attribute__ ((section ("sdb")))
/*****************************************************************************
* defines for working with the databases
*****************************************************************************/
#define DB_RW_MODE dmModeReadWrite
#define DB_RO_MODE dmModeReadOnly
#define DB_W_MODE dmModeWrite
#define NO_RECORD dmMaxRecordIndex
#define ATSTART true
#define ATEND false
#define DB_OPEN_SUCCESS 0
#define DB_OPEN_FAIL -1
#define DB_OPEN_CREATE 1
// Sort orders
#define soUnsorted 0
#define soAlphabetic 1
#define LocalizedAppInfoStr 1000
#define memoMaxLength 4096
#define docrecMaxLength 4096
typedef struct {
UInt16 renamedCategories; // bitfield of categories with a different name
char categoryLabels[dmRecNumCategories][dmCategoryLength];
UInt8 categoryUniqIDs[dmRecNumCategories];
UInt8 lastUniqID; // Uniq IDs generated by the device are between
// 0 - 127. Those from the PC are 128 - 255.
UInt8 reserved1; // from the compiler word aligning things
UInt16 reserved2;
UInt16 reserved3;
UInt8 sortOrder;
UInt8 reserved;
} MemoAppInfoType;
typedef MemoAppInfoType * MemoAppInfoPtr;
/* PalmDOC record 0 format */
/* 16 Bytes Total */
typedef struct palmdoc_record0Type
{
UInt8 crap; // Because wVersion was 1026 (1024+2) in
// one doc when it should have been 2.
UInt8 version; // 1=plain text, 2=compressed
UInt16 reserver1; // Reserved...
UInt32 doc_size; // In bytes, when decompressed.
// Appears to be wrong in some DOCs.
UInt16 num_recs; // Text records only.
// equals tDocHeader.wNumRecs-1.
// Appears to be too big in some DOCs.
UInt16 rec_size; // Usually 0x1000
UInt32 reserver2; // Reserved...
} palmdoc_record0;
/*****************************************************************************
* prototypes
*****************************************************************************/
Int16 OpenCreateDB(DmOpenRef *dbP,
UInt16 cardNo,
Char* name,
UInt32 dbcreator,
UInt32 type,
UInt16 mode) SDB;
Int16 OpenCreateDB2(DmOpenRef *dbP,
UInt16 cardNo,
Char* name,
UInt32 dbcreator,
UInt32 type,
UInt16 mode,
UInt16 ver) SDB;
Boolean OpenDeleteDB(DmOpenRef *dbP, UInt16 cardNo, Char *name) SDB;
UInt16 OpenDBCountRecords(DmOpenRef openDBDB) SDB;
UInt16 OpenDBAddRecord(DmOpenRef openDBDB,
Int32 size,
MemPtr openDBP,
Boolean atStart) SDB;
UInt16 OpenDBNewRecord(DmOpenRef openDBDB,
Int32 size,
MemHandle *openDBH,
MemPtr *openDBP,
Boolean atStart) SDB;
Boolean OpenDBGetRecord(DmOpenRef openDBDB,
Int16 index,
MemHandle *openDBH,
MemPtr *openDBP) SDB;
Boolean OpenDBQueryRecord(DmOpenRef openDBDB,
Int16 index,
MemHandle *openDBH,
MemPtr *openDBP) SDB;
Boolean OpenDBReleaseRecord(DmOpenRef openDBDB,
Int16 index,
MemHandle *openDBH,
MemPtr *openDBP,
Boolean save) SDB;
Boolean OpenDBDeleteRecord(DmOpenRef openDBDB,
Int16 index) SDB;
Boolean OpenDBEmpty(DmOpenRef openDBDB) SDB;
void OpenDBSetBackup(DmOpenRef openDBRef,
Boolean setForBackup) SDB;
Boolean OpenDBUpdateRecord(DmOpenRef openDBDB,
Int32 size,
MemPtr openDBP,
UInt16 dbIndex) SDB;
Boolean OpenDBUpdateAppInfo(DmOpenRef openDBDB,
UInt16 cardNo,
double appInfoData) SDB;
Boolean OpenDBGetAppInfo(DmOpenRef openDBDB,
UInt16 cardNo,
double *appInfoData) SDB;
Err MemoAppInfoInit(DmOpenRef dbP) SDB;
Err MemoGetDatabase (DmOpenRef *dbPP, UInt16 mode) SDB;
Boolean HandleMemoData(Int8 action, Char *inputtxt, UInt32 *numBytes) SDB;
Boolean HandleDOCData(Int8 action, Char *data, UInt32 *numBytes) SDB;
Boolean OpenAllDatabases(void) SDB;
void CloseAllDatabases(void) SDB;
void DebugWriteCheck(MemPtr recordP, UInt32 offset, UInt32 bytes) SDB;
Boolean OpenCreateSimDatabase() SDB;
void RemoveSimDatabase() SDB;
#endif