home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / wrapicsf.zip / EYPOAPI.ZIP / eyp.h next >
C/C++ Source or Header  |  2000-06-30  |  140KB  |  2,429 lines

  1. /******************************************************************************
  2.  *
  3.  *    FILE NAME:  EYP.H  (IPFAF WorkStation API External include file)
  4.  *
  5.  *=============================================================================
  6.  *
  7.  *    5655-A27
  8.  *    Copyright (C) IBM Corp. 1997.  All Rights Reserved.
  9.  *
  10.  *    US Government Users Restricted Rights - Use, duplication or
  11.  *    disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  12.  *
  13.  *    Licensed Materials - Property of IBM
  14.  *
  15.  *=============================================================================
  16.  *
  17.  *    DESCRIPTION:
  18.  *       This is the external header file for the IPFAF Workstation Client
  19.  *       API module. It defines structures, #typedefs, global data, etc.,
  20.  *       needed to program to the IPFAF Workstation API module.
  21.  *
  22.  *****************************************************************************/
  23.  
  24. /*---------------------------------------------------------------------------*/
  25. /*    If this file has already been presented to the compiler, then don't    */
  26. /*    compile the statements in this file again. If __EYP_H__ has already    */
  27. /*    been defined, then all the statements in this file are ignored.        */
  28. /*---------------------------------------------------------------------------*/
  29. #ifndef __EYP_H__
  30. #define __EYP_H__
  31.  
  32. /*---------------------------------------------------------------------------*/
  33. /*    Include the appropriate Operating System header file.                  */
  34. /*---------------------------------------------------------------------------*/
  35. #ifdef _WIN32
  36.   #include <windows.h>
  37.   #if !defined(__DLLBLD__)
  38.     #define APIEXPORT __declspec( dllimport )
  39.   #else
  40.     #define APIEXPORT __declspec( dllexport )
  41.   #endif
  42.   #define FAFENTRY __stdcall
  43. #else
  44.   #include <os2.h>
  45.   #define APIEXPORT
  46.   #if !defined(__DLLBLD__)
  47.     #define FAFENTRY _System
  48.   #else
  49.     #define FAFENTRY _System _Export
  50.   #endif
  51. #endif
  52.  
  53. /*===========================================================================*/
  54. /*                                                                           */
  55. /*                  IPFAF WorkStation API Return Codes                       */
  56. /*                                                                           */
  57. /*===========================================================================*/
  58. /*    1000-1499 = Common Information Warning Codes                           */
  59. /*    1500-1999 = Common Warning Codes                                       */
  60. /*    2000-2999 = Common Error codes                                         */
  61. /*    3000-9999 = API Area Specifc Error codes                               */
  62. /*                3000-3999 - Session Management                             */
  63. /*                4000-4999 - Folder Management                              */
  64. /*                5000-5999 - Note Management                                */
  65. /*                6000-6999 - Document Management                            */
  66. /*                7000-7999 - Pending Document Management                    */
  67. /*                8000-8999 - Event Management                               */
  68. /*                9000-9999 - Workflow Management                            */
  69. /*---------------------------------------------------------------------------*/
  70. #define FAF_RC_OK                                     0
  71. #define FAF_RC_ASYNC_STARTED                       1000
  72. #define FAF_RC_API_UNDER_CONSTRUCTION              1001
  73. #define FAF_RC_MORE_DATA                           1002
  74. #define FAF_RC_HOST_API_WARNING                    1500
  75. #define FAF_RC_IODM_FAILURE                        1501
  76.  
  77. #define FAF_RC_INVALID_CLIENT_PARAMETER            2000
  78. #define FAF_RC_HOST_API_ERROR                      2001
  79. #define FAF_RC_INVALID_HFSESSION                   2002
  80. #define FAF_RC_INVALID_FAFRESULT                   2003
  81. #define FAF_RC_INVALID_ODMCOMPLETE                 2004
  82. #define FAF_RC_INTERNAL_ERROR                      2005
  83. #define FAF_RC_HOST_TIMEOUT                        2006
  84. #define FAF_RC_NETWORK_PROTOCOL_INSTALL_ERROR      2007
  85. #define FAF_RC_NETWORK_PROTOCOL_ERROR              2008
  86. #define FAF_RC_NETWORK_PROTOCOL_UNDER_CONSTRUCTION 2009
  87. #define FAF_RC_NETWORK_PROTOCOL_UNSUPPORTED        2010
  88. #define FAF_RC_HOST_API_PROTOCOL_ERROR             2011
  89. #define FAF_RC_INVALID_HOST_RETURN_VALUE           2012
  90. #define FAF_RC_INVALID_WS_OS_VERSION               2013
  91. #define FAF_RC_OS_ERROR                            2014
  92. #define FAF_RC_INVALID_IODM_RETURN_VALUE           2015
  93. #define FAF_RC_FILE_OPEN_ERROR                     2016
  94. #define FAF_RC_FILE_WRITE_ERROR                    2017
  95. #define FAF_RC_FILE_READ_ERROR                     2018
  96. #define FAF_RC_INVALID_CODEPAGE                    2019
  97. #define FAF_RC_INVALID_FCALLBACK                   2020
  98. #define FAF_RC_ASYNC_FAILED                        2021
  99. #define FAF_RC_HOST_CANT_COMPLETE                  2022
  100. #define FAF_RC_OVERLAYS_MISSING                    2023
  101. #define FAF_RC_IMS_ERROR                           2024
  102. #define FAF_RC_IMS_OTMA_ERROR                      2025
  103. #define FAF_RC_ANNOTATION_MISSING                  2026
  104. #define FAF_RC_INVALID_ANNOTATION_INDEX            2027
  105.  
  106. #define FAF_RC_INVALID_USERID                      3000
  107. #define FAF_RC_INVALID_PASSWORD                    3001
  108. #define FAF_RC_INVALID_NEWPSWD_TOO_LONG            3002
  109. #define FAF_RC_INVALID_FAFCONNECTPARMS             3003
  110. #define FAF_RC_INVALID_RESOURCE                    3004
  111. #define FAF_RC_MISSING_CUSTOMER_DATA               3005
  112. #define FAF_RC_INVALID_CUSTOMER_DATA_LENGTH        3006
  113. #define FAF_RC_INVALID_APPLID                      3007
  114. #define FAF_RC_TOO_MANY_CONNECTIONS                3008
  115. #define FAF_RC_IODM_NOT_AVAILABLE                  3009
  116. #define FAF_RC_IPFAF_NOT_AVAILABLE                 3010
  117. #define FAF_RC_INVALID_ODM_USERID                  3011
  118. #define FAF_RC_INVALID_ODM_PASSWORD                3012
  119. #define FAF_RC_INVALID_ODM_TERMID                  3013
  120.  
  121. #define FAF_RC_INVALID_FOLDERATTRS                 4000
  122. #define FAF_RC_INVALID_INDEXDEFSTRUCT              4001
  123. #define FAF_RC_INVALID_FOLDERCURSOR                4002
  124. #define FAF_RC_INVALID_2NDARYINDEX                 4003
  125. #define FAF_RC_INVALID_NUMBER_OF_INDICES           4004
  126. #define FAF_RC_INVALID_RDEFFOLDERATTRS             4005
  127. #define FAF_RC_INVALID_FOLDERIDSTRUCT              4006
  128. #define FAF_RC_INVALID_INDEXGETSTRUCT              4007
  129.  
  130. #define FAF_RC_INVALID_DOCIDSTRUCT                 6000
  131. #define FAF_RC_INVALID_DOCTIMEID                   6001
  132. #define FAF_RC_INVALID_DOCWKSPARMS                 6002
  133. #define FAF_RC_INVALID_DOCATTRS                    6003
  134. #define FAF_RC_INVALID_DOCSTORAGE                  6004
  135. #define FAF_RC_INVALID_DOCEVENT                    6005
  136. #define FAF_RC_INVALID_TEMPIDFORMAT                6006
  137. #define FAF_RC_INVALID_DOCDISPLAY                  6007
  138. #define FAF_RC_INVALID_PAGERANGE                   6008
  139. #define FAF_RC_INVALID_DOCUMENTCURSOR              6009
  140. #define FAF_RC_INVALID_DOCPRNTPARMS                6010
  141. #define FAF_RC_INVALID_RDEFDOCATTRS                6011
  142. #define FAF_RC_INVALID_NUMBER_OF_DOCDISPLAYS       6012
  143. #define FAF_RC_INVALID_NUMBER_OF_PAGERANGES        6013
  144. #define FAF_RC_INVALID_LOCOPTS                     6014
  145. #define FAF_RC_INVALID_BUFFER                      6015
  146. #define FAF_RC_INVALID_BUFFERLENGTH                6016
  147. #define FAF_RC_INVALID_FILENAME                    6017
  148. #define FAF_RC_INVALID_DOCOVERLAYS                 6018
  149. #define FAF_RC_BUFFER_TOOSMALL                     6019
  150.  
  151. #define FAF_RC_INVALID_TIMESTAMP_RANGE             7000
  152. #define FAF_RC_INVALID_TEMPCURSOR                  7001
  153.  
  154. #define FAF_RC_INVALID_EVENT                       8000
  155.  
  156. #define FAF_RC_INVALID_WQ_ID                       9000
  157. #define FAF_RC_INVALID_WORKROUTING                 9001
  158. #define FAF_RC_INVALID_WORKITEMPRIORITY            9002
  159. #define FAF_RC_INVALID_WORKITEMINIT                9003
  160. #define FAF_RC_INVALID_FINDWORK_CURSOR             9004
  161. #define FAF_RC_INVALID_GETWORK_CURSOR              9005
  162. #define FAF_RC_INVALID_WORKASGN_CURSOR             9006
  163. #define FAF_RC_INVALID_RDEFWORKRATTRS              9007
  164.  
  165. /*---------------------------------------------------------------------------*/
  166. /*    FAF_RC_INVALID_CLIENT_PARAMETER -- Reason Code 1 Ids                   */
  167. /*---------------------------------------------------------------------------*/
  168. #define IPFAF_WS_PARM_ALLVERS    1001
  169. #define IPFAF_WS_PARM_APPLIDCD   1002
  170. #define IPFAF_WS_PARM_SENDOVLY   1003
  171. #define IPFAF_WS_PARM_BTRANAME   1004
  172. #define IPFAF_WS_PARM_CLEARWS    1005
  173. #define IPFAF_WS_PARM_CODEPAGE   1006
  174. #define IPFAF_WS_PARM_CDPGSRCH   1007
  175. #define IPFAF_WS_PARM_CRTEDATE   1008
  176. #define IPFAF_WS_PARM_CRTESITE   1009
  177. #define IPFAF_WS_PARM_DLTEOPTN   1010
  178. #define IPFAF_WS_PARM_DESTID     1011
  179. #define IPFAF_WS_PARM_WKSTATFS   1012
  180. #define IPFAF_WS_PARM_DFOLDTKN   1013
  181. #define IPFAF_WS_PARM_DOBJTKN    1014
  182. #define IPFAF_WS_PARM_DOBJVERS   1015
  183. #define IPFAF_WS_PARM_DRECVDTE   1016
  184. #define IPFAF_WS_PARM_DTIMECHG   1017
  185. #define IPFAF_WS_PARM_EMPTFOLD   1018
  186. #define IPFAF_WS_PARM_ENDDATE    1019
  187. #define IPFAF_WS_PARM_EVNTCD     1020
  188. #define IPFAF_WS_PARM_EVNTCNTL   1021
  189. #define IPFAF_WS_PARM_FILEDATE   1022
  190. #define IPFAF_WS_PARM_FOLDTKN    1023
  191. #define IPFAF_WS_PARM_FOLDTYCD   1024
  192. #define IPFAF_WS_PARM_FORMCD     1025
  193. #define IPFAF_WS_PARM_RSPPSRCH   1026
  194. #define IPFAF_WS_PARM_FTKNSRCH   1027
  195. #define IPFAF_WS_PARM_FTYPSRCH   1028
  196. #define IPFAF_WS_PARM_GTRANAME   1029
  197. #define IPFAF_WS_PARM_MGMTCL     1030
  198. #define IPFAF_WS_PARM_MODLEAVE   1031
  199. #define IPFAF_WS_PARM_NEXTSET    1032
  200. #define IPFAF_WS_PARM_IGNEGRSP   1033
  201. #define IPFAF_WS_PARM_NUMENTRY   1034
  202. #define IPFAF_WS_PARM_NUMPAGES   1035
  203. #define IPFAF_WS_PARM_OBJCNTL    1036
  204. #define IPFAF_WS_PARM_OBJSTAT    1037
  205. #define IPFAF_WS_PARM_OBJTKN     1038
  206. #define IPFAF_WS_PARM_OBJCLASS   1039
  207. #define IPFAF_WS_PARM_OBJVERS    1040
  208. #define IPFAF_WS_PARM_ORIGKEPT   1041
  209. #define IPFAF_WS_PARM_NSTORSIT   1042
  210. #define IPFAF_WS_PARM_OTKNSRCH   1043
  211. #define IPFAF_WS_PARM_PREFIXD    1044
  212. #define IPFAF_WS_PARM_PRTALT     1045
  213. #define IPFAF_WS_PARM_PRTID      1046
  214. #define IPFAF_WS_PARM_DLTECNTL   1047
  215. #define IPFAF_WS_PARM_RECVDATE   1048
  216. #define IPFAF_WS_PARM_RESPPEND   1049
  217. #define IPFAF_WS_PARM_RETAREA    1050
  218. #define IPFAF_WS_PARM_RETPER     1051
  219. #define IPFAF_WS_PARM_RETRYCNT   1052
  220. #define IPFAF_WS_PARM_SECURCL    1053
  221. #define IPFAF_WS_PARM_STGCL      1054
  222. #define IPFAF_WS_PARM_STORSITE   1055
  223. #define IPFAF_WS_PARM_STRTDATE   1056
  224. #define IPFAF_WS_PARM_TABCD      1057
  225. #define IPFAF_WS_PARM_TABSRCH    1058
  226. #define IPFAF_WS_PARM_TEMPID     1059
  227. #define IPFAF_WS_PARM_TEMPTYPE   1060
  228. #define IPFAF_WS_PARM_TIDFORMT   1061
  229. #define IPFAF_WS_PARM_TIMECHGD   1062
  230. #define IPFAF_WS_PARM_TIMECRTE   1063
  231. #define IPFAF_WS_PARM_TOTENTRY   1064
  232. #define IPFAF_WS_PARM_TRANSNUM   1065
  233. #define IPFAF_WS_PARM_USERDATE   1066
  234. #define IPFAF_WS_PARM_USERID     1067
  235. #define IPFAF_WS_PARM_VEREXIST   1068
  236. #define IPFAF_WS_PARM_VERSSRCH   1069
  237. #define IPFAF_WS_PARM_CMDNAME    1070
  238. #define IPFAF_WS_PARM_WKSTATID   1071
  239. #define IPFAF_WS_PARM_ENDDTTM    1072
  240. #define IPFAF_WS_PARM_STRTDTTM   1073
  241. #define IPFAF_WS_PARM_TIDSRCH    1074
  242. #define IPFAF_WS_PARM_PURGETID   1075
  243. #define IPFAF_WS_PARM_COLLNAME   1076
  244. #define IPFAF_WS_PARM_VCOLLNAM   1077
  245. #define IPFAF_WS_PARM_VMGMTCL    1078
  246. #define IPFAF_WS_PARM_VRETPER    1079
  247. #define IPFAF_WS_PARM_VSTGCL     1080
  248. #define IPFAF_WS_PARM_VSTORSIT   1081
  249. #define IPFAF_WS_PARM_WKSTMSG    1082
  250. #define IPFAF_WS_PARM_ALTPCB     1083
  251. #define IPFAF_WS_PARM_NRECVDTE   1084
  252. #define IPFAF_WS_PARM_AGEPRHG    1101
  253. #define IPFAF_WS_PARM_AGEPRLW    1102
  254. #define IPFAF_WS_PARM_AGEPRMD    1103
  255. #define IPFAF_WS_PARM_AGEPRNM    1104
  256. #define IPFAF_WS_PARM_AGINGDTE   1105
  257. #define IPFAF_WS_PARM_ASGNACT    1106
  258. #define IPFAF_WS_PARM_ASGNEMPL   1107
  259. #define IPFAF_WS_PARM_BASEPRHG   1108
  260. #define IPFAF_WS_PARM_BASEPRLW   1109
  261. #define IPFAF_WS_PARM_BASEPRMD   1110
  262. #define IPFAF_WS_PARM_BASEPRNM   1112
  263. #define IPFAF_WS_PARM_CATWORK    1113
  264. #define IPFAF_WS_PARM_DATESRCH   1114
  265. #define IPFAF_WS_PARM_RUNIT      1115
  266. #define IPFAF_WS_PARM_UNITSRCH   1116
  267. #define IPFAF_WS_PARM_DOCNO      1117
  268. #define IPFAF_WS_PARM_STRTPRTY   1118
  269. #define IPFAF_WS_PARM_ENDPRTY    1119
  270. #define IPFAF_WS_PARM_EXPRDATE   1120
  271. #define IPFAF_WS_PARM_OPERFLAG   1121
  272. #define IPFAF_WS_PARM_HOLDACT    1122
  273. #define IPFAF_WS_PARM_HOLDDATE   1123
  274. #define IPFAF_WS_PARM_HOLDTIME   1124
  275. #define IPFAF_WS_PARM_NEXTRLOB   1125
  276. #define IPFAF_WS_PARM_NEXTTRAN   1126
  277. #define IPFAF_WS_PARM_OVERPIND   1127
  278. #define IPFAF_WS_PARM_PRIORITY   1128
  279. #define IPFAF_WS_PARM_PROCACT    1129
  280. #define IPFAF_WS_PARM_PROCEMPL   1130
  281. #define IPFAF_WS_PARM_PROCRSET   1131
  282. #define IPFAF_WS_PARM_PRTYSRCH   1132
  283. #define IPFAF_WS_PARM_RCDSRCH    1133
  284. #define IPFAF_WS_PARM_RCODE      1134
  285. #define IPFAF_WS_PARM_RLOB       1135
  286. #define IPFAF_WS_PARM_STRTRCD    1136
  287. #define IPFAF_WS_PARM_ENDRCD     1137
  288. #define IPFAF_WS_PARM_TRANTYPE   1138
  289. #define IPFAF_WS_PARM_USERPRM1   1139
  290. #define IPFAF_WS_PARM_USERSRCH   1140
  291. #define IPFAF_WS_PARM_AGEPRIO    1141
  292. #define IPFAF_WS_PARM_BASEPRIO   1142
  293. #define IPFAF_WS_PARM_USERPRM2   1143
  294. #define IPFAF_WS_PARM_FINDACT    1144
  295. #define IPFAF_WS_PARM_USERSTAT   1145
  296. #define IPFAF_WS_PARM_USTASRCH   1146
  297. #define IPFAF_WS_PARM_USERDET    1147
  298. #define IPFAF_WS_PARM_DLTEACT    1148
  299. #define IPFAF_WS_PARM_DROPACT    1149
  300. #define IPFAF_WS_PARM_APPLDATA   1151
  301. #define IPFAF_WS_PARM_TERMID     1152
  302. #define IPFAF_WS_PARM_EVNTCDSO   1153
  303. #define IPFAF_WS_PARM_BATCHEXT   1201
  304. #define IPFAF_WS_PARM_BATCHSEQ   1202
  305. #define IPFAF_WS_PARM_BATCHID    1203
  306. #define IPFAF_WS_PARM_BATISRCH   1204
  307. #define IPFAF_WS_PARM_BATCHMTD   1205
  308. #define IPFAF_WS_PARM_BATSSRCH   1206
  309. #define IPFAF_WS_PARM_BATCHSTA   1207
  310. #define IPFAF_WS_PARM_CENDDTTM   1208
  311. #define IPFAF_WS_PARM_CSTRDTTM   1209
  312. #define IPFAF_WS_PARM_DOCSEQ     1210
  313. #define IPFAF_WS_PARM_RESTART2   1211
  314. #define IPFAF_WS_PARM_LANGID     1212
  315. #define IPFAF_WS_PARM_CSYSID     1213
  316. #define IPFAF_WS_PARM_COPYTYPE   1214
  317. #define IPFAF_WS_PARM_TENDDTTM   1215
  318. #define IPFAF_WS_PARM_TSTRDTTM   1216
  319. #define IPFAF_WS_PARM_FILETAB    1217
  320. #define IPFAF_WS_PARM_BATDSRCH   1218
  321. #define IPFAF_WS_PARM_OBJTIME    1219
  322. #define IPFAF_WS_PARM_CSIDSRCH   1220
  323. #define IPFAF_WS_PARM_ROUTFLAG   1229
  324. #define IPFAF_WS_PARM_ASGNSTAT   1232
  325. #define IPFAF_WS_PARM_PROCSRCH   1236
  326. #define IPFAF_WS_PARM_ASGNSRCH   1237
  327. #define IPFAF_WS_PARM_STATSRCH   1238
  328. #define IPFAF_WS_PARM_UASGNACT   1239
  329. #define IPFAF_WS_PARM_MORENTRY   1240
  330. #define IPFAF_WS_PARM_QPRTY      1241
  331. #define IPFAF_WS_PARM_SEQSRCH    1242
  332. #define IPFAF_WS_PARM_QPRTYSRCH  1243
  333. #define IPFAF_WS_PARM_BATCHACT   1244
  334. #define IPFAF_WS_PARM_STRTDSEQ   1245
  335. #define IPFAF_WS_PARM_ENDDSEQ    1246
  336. #define IPFAF_WS_PARM_RTRYCNTL   1247
  337. #define IPFAF_WS_PARM_ACTVPROC   1248
  338. #define IPFAF_WS_PARM_ACTVASGN   1249
  339. #define IPFAF_WS_PARM_DFOLDID    2001
  340. #define IPFAF_WS_PARM_EVNTDESC   2002
  341. #define IPFAF_WS_PARM_FOLDDESC   2003
  342. #define IPFAF_WS_PARM_FOLDID     2004
  343. #define IPFAF_WS_PARM_FOLDSRCH   2005
  344. #define IPFAF_WS_PARM_EVNTDATA   2006
  345. #define IPFAF_WS_PARM_NOTETEXT   2007
  346. #define IPFAF_WS_PARM_OBJDESC    2008
  347. #define IPFAF_WS_PARM_OBJNAME    2009
  348. #define IPFAF_WS_PARM_SHRTDESC   2010
  349. #define IPFAF_WS_PARM_TRANDATA   2011
  350. #define IPFAF_WS_PARM_USERDATA   2012
  351. #define IPFAF_WS_PARM_FORMNUM    2014
  352. #define IPFAF_WS_PARM_SENDDATA   2015
  353. #define IPFAF_WS_PARM_WQUEDESC   2101
  354. #define IPFAF_WS_PARM_OBJINFO    2102
  355. #define IPFAF_WS_PARM_USEXDATA   2201
  356. #define IPFAF_WS_PARM_REJTFOLD   2202
  357. #define IPFAF_WS_PARM_INDXVAL1   2206
  358. #define IPFAF_WS_PARM_INDXVAL2   2207
  359. #define IPFAF_WS_PARM_INDXVAL3   2208
  360. #define IPFAF_WS_PARM_INDXLIST   3101
  361. #define IPFAF_WS_PARM_OBJTKNL    3201
  362. #define IPFAF_WS_PARM_PAGEMOD    3301
  363. #define IPFAF_WS_PARM_OBJNLIST   3501
  364. #define IPFAF_WS_PARM_OBJCONT    4101
  365. #define IPFAF_WS_PARM_INDXSRCH   5001
  366.  
  367. #define IODM_WS_PARM_RETURNC     0x0009
  368. #define IODM_WS_PARM_OBJTMPID    0x000A
  369. #define IODM_WS_PARM_OBJSIZE     0x000B
  370. #define IODM_WS_PARM_SCALDEF     0x000C
  371. #define IODM_WS_PARM_NUMPAGES    0x000D
  372. #define IODM_WS_PARM_MSGID       0x000E
  373. #define IODM_WS_PARM_MDFYFLAG    0x0012
  374. #define IODM_WS_PARM_TERMID      0x0013
  375. #define IODM_WS_PARM_APUSERID    0x0014
  376. #define IODM_WS_PARM_OSYSID      0x0016
  377. #define IODM_WS_PARM_OBJNAME     0x0017
  378. #define IODM_WS_PARM_DESCRIPT    0x0019
  379. #define IODM_WS_PARM_STATCOND    0x001D
  380. #define IODM_WS_PARM_COLLNAME    0x0032
  381. #define IODM_WS_PARM_SCANID      0x0041
  382. #define IODM_WS_PARM_OBJCLASS    0x0063
  383. #define IODM_WS_PARM_REACODE     0x0070
  384. #define IODM_WS_PARM_RESPLEVL    0x0072
  385. #define IODM_WS_PARM_FORMFLAG    0x0073
  386. #define IODM_WS_PARM_OBJSTART    0x0074
  387. #define IODM_WS_PARM_COPYTYPE    0x0075
  388. #define IODM_WS_PARM_RETRTIME    0x0076
  389. #define IODM_WS_PARM_OBJDATA     0x0077
  390. #define IODM_WS_PARM_STORCLAS    0x0078
  391. #define IODM_WS_PARM_MGMTCLAS    0x0079
  392. #define IODM_WS_PARM_RETPD       0x007A
  393. #define IODM_WS_PARM_NAMEFLAG    0x007B
  394. #define IODM_WS_PARM_SYNCPT      0x007C
  395. #define IODM_WS_PARM_OBJTIME     0x007D
  396. #define IODM_WS_PARM_FEAKEY      0x0201
  397. #define IODM_WS_PARM_ANNOTIME    0x0203
  398. #define IODM_WS_PARM_SSYSID      0x0204
  399. #define IODM_WS_PARM_LOCKTYPE    0x0205
  400. #define IODM_WS_PARM_DOCCHGE     0x0206
  401. #define IODM_WS_PARM_LOCKREL     0x0207
  402. #define IODM_WS_PARM_NFEAKEY     0x020D
  403. #define IODM_WS_PARM_AOBJSIZE    0x0210
  404. #define IODM_WS_PARM_ANNOFLLW    0x0211
  405.  
  406. /*---------------------------------------------------------------------------*/
  407. /*    FAF_RC_NETWORK_PROTOCOL_ERROR -- TCP/IP Error Reason Code 1 Ids        */
  408. /*    Error Reason Code 2 is actual error from TCP/IP                        */
  409. /*---------------------------------------------------------------------------*/
  410. typedef enum {
  411.    TCPIP_STARTUP = 5400,
  412.    TCPIP_SOCKET,
  413.    TCPIP_CLOSE,
  414.    TCPIP_SHUTDOWN,
  415.    TCPIP_CONNECT,
  416.    TCPIP_SEND_LISTENER,
  417.    TCPIP_RECEIVE_LISTENER,
  418.    TCPIP_SEND_REQUEST_HEADER,
  419.    TCPIP_RECEIVE_REQUEST_HEADER,
  420.    TCPIP_SEND_ICRP,
  421.    TCPIP_RECEIVE_ICRP,
  422.    TCPIP_RECEIVE_RESP_HDR,
  423.    TCPIP_SEND_RESP_HDR_ACK
  424. } TCPIPERRORS;
  425.  
  426. /*===========================================================================*/
  427. /*                                                                           */
  428. /*                   IPFAF WorkStation Defines                               */
  429. /*                   -------------------------                               */
  430. /*    These are the C Defines for the IPFAF WorkStation API.                 */
  431. /*                                                                           */
  432. /*===========================================================================*/
  433. #define DEFAULT_DOC_CURRENT_VERSION          "0"  // Current Version of Doc
  434. #define DOCUMENT_DEFAULT_CONTENT_CLASS     32768  // MO:DCA
  435. #define IPFAF_FOLDER_MAX_INDEX_VALUES         10
  436. #define MAX_DOC_OVERLAYS                     100  // Max number of overlays
  437.  
  438. /*---------------------------------------------------------------------------*/
  439. /*    INI File Variable Names   (Names NOT case sensitive)                   */
  440. /*---------------------------------------------------------------------------*/
  441. #define INI_FAFPATH              "IPFAFPath" /* Path of the IPFAF files      */
  442. #define INI_LOGGING                "Logging" /* ON/OFF switch for logging    */
  443. #define INI_LOG_FAFTYPES       "FafTypeLogs" /* ON/OFF for FafType logging   */
  444. #define INI_TCPIP_TIMEOUT     "TimeOutTCPIP" /* TCPIP Timeout for Send/Recv  */
  445. #define INI_IPFAF_REQUIRED    "RequireIPFAF" /* Successful IPFAF connect req.*/
  446. #define INI_IODM_REQUIRED      "RequireIODM" /* Successful IODM connect req. */
  447. #define INI_HOST_CODEPAGE     "HostCodePage" /* Default Host Codepage        */
  448. #define INI_WKST_CODEPAGE     "WkStCodePage" /* Default Workstation Codepage */
  449. #define INI_IPFAF_TRANID       "IPFAFTranId" /* IPFAF Transaction ID         */
  450. #define INI_IPFAF_TRANID_IMS  "IPFAFTranIMS" /* IPFAF IMS Transaction ID     */
  451. #define INI_IODMTRAN_BEGBATCH "IodmBEGBATCH" /* IODM Transaction for BEGBATCH*/
  452. #define INI_IODMTRAN_PRINTW     "IodmPRINTW" /* IODM Transaction for PRINTW  */
  453. #define INI_IODMTRAN_LOCK         "IodmLOCK" /* IODM Transaction for LOCK    */
  454. #define INI_IODMTRAN_SRETOBJ   "IodmSRETOBJ" /* IODM Transaction for SRETOBJ */
  455. #define INI_IODMTRAN_SSTROBJ   "IodmSSTROBJ" /* IODM Transaction for SSTROBJ */
  456. #define INI_IODMTRAN_STATUS     "IodmSTATUS" /* IODM Transaction for STATUS  */
  457. #define INI_IODMTRAN_STOREC     "IodmSTOREC" /* IODM Transaction for STOREC  */
  458. #define INI_IODMTRAN_STOROBJU "IodmSTOROBJU" /* IODM Transaction for STOROBJU*/
  459. #define INI_IODMTRAN_TEMPIDC   "IodmTEMPIDC" /* IODM Transaction for TEMPIDC */
  460. #define INI_IPFAF_DEFDOCID   "DefDocUsingId" /* DocID for FafDefineStoredDoc */
  461.  
  462. /*---------------------------------------------------------------------------*/
  463. /*    FAFCONNECTPARMS Protocol Identifiers                                   */
  464. /*---------------------------------------------------------------------------*/
  465. typedef enum {
  466.    FAF_CONN_TCPIP     = 4000,
  467.    FAF_IMS_CONN_TCPIP = 4500,
  468.    FAF_CONN_APPC      = 5000
  469. } FAFCONN, *PFAFCONN;
  470.  
  471. /*---------------------------------------------------------------------------*/
  472. /*    FCALLBACK Asynchronous Method Identifiers                              */
  473. /*---------------------------------------------------------------------------*/
  474. typedef enum {
  475.    FAF_ASYNC_SEM = 1,
  476.    FAF_ASYNC_MSG = 2
  477. } FAFASYNCOPTS, *PFAFASYNCOPTS;
  478.  
  479. /*---------------------------------------------------------------------------*/
  480. /*    FafQueryOutcome OutComeStatus Identifiers                              */
  481. /*---------------------------------------------------------------------------*/
  482. typedef enum {
  483.    IODM_NOT_YET_RESPONDED       = 1,
  484.    IODM_RESPONDED_FOR_GTRAN     = 2,
  485.    IODM_RESPONDED_FOR_BTRAN     = 3,
  486.    IODM_RESPONDED_GTRAN_STARTED = 4,
  487.    IODM_RESPONDED_BTRAN_STARTED = 5
  488. } OUTCOMESTATUS;
  489.  
  490. /*---------------------------------------------------------------------------*/
  491. /*    INDEXACTION Parameters                                                 */
  492. /*---------------------------------------------------------------------------*/
  493. typedef enum {
  494.    I_DO_NOTHING,                      // Default
  495.    I_CREATE_INDEX,
  496.    I_UPDATE_INDEX,
  497.    I_DELETE_INDEX,
  498.    I_GET_INDEX
  499. } INDEXACTION, *PINDEXACTION;
  500.  
  501. /*---------------------------------------------------------------------------*/
  502. /*    RDEFFOLD Parameters                                                    */
  503. /*---------------------------------------------------------------------------*/
  504. typedef enum {
  505.    F_CODEPAGE = 1006,
  506.    F_CRTEDATE = 1008,
  507.    F_EMPTFOLD = 1018,
  508.    F_FOLDTYCD = 1024,
  509.    F_SECURCL  = 1053,
  510.    F_FOLDDESC = 2003,
  511.    F_FOLDERID = 2004,
  512.    F_USERDATA = 2012
  513. } RDEFFOLD_PARMS, *PRDEFFOLD_PARMS;
  514.  
  515. /*---------------------------------------------------------------------------*/
  516. /*    RDEFOBJ Parameters                                                     */
  517. /*---------------------------------------------------------------------------*/
  518. typedef enum {
  519.    D_CODEPAGE = 1006,
  520.    D_FILEDATE = 1022,
  521.    D_FORMCD   = 1025,
  522.    D_ORIGKEPT = 1041,
  523.    D_SECURCL  = 1053,
  524.    D_TABCD    = 1057,
  525.    D_USERDATE = 1066,
  526.    D_NRECVDTE = 1084,
  527.    D_USERSTAT = 1145,
  528.    D_OBJDESC  = 2008,
  529.    D_USERDATA = 2012,
  530.    D_FORMNUM  = 2014
  531. } RDEFOBJ_PARMS, *PRDEFOBJ_PARMS;
  532.  
  533. /*---------------------------------------------------------------------------*/
  534. /*    Document DELETE Options                                                */
  535. /*---------------------------------------------------------------------------*/
  536. typedef enum {
  537.    DLTE_ALL_IN_FOLDER = 1,            // Delete all Documents in Folder
  538.    DLTE_ALL_VERSIONS,                 // Delete all Versions of a Document
  539.    DLTE_SINGLE_VERSION,               // Delete Single Version of a Document
  540.    DLTE_IODM_COPY,                    // Delete IODM Copies of Document
  541.    DLTE_IODM_WORKING_COPY             // Delete IODM Copies of Document
  542. } DLTEOPTN, *PDLTEOPTN;
  543.  
  544. /*---------------------------------------------------------------------------*/
  545. /*    Document DELETE Control Options -- Faf and Optical                     */
  546. /*---------------------------------------------------------------------------*/
  547. typedef enum {
  548.    DLTE_CNTL_BOTH = 1,                // Delete from Both Faf and Optical
  549.    DLTE_CNTL_FAF_ONLY                 // Delete from Faf Only not Optical
  550. } DLTECNTL, *PDLTECNTL;
  551.  
  552. /*---------------------------------------------------------------------------*/
  553. /*    Form Overlay Options FafSendDocument(), FafGetDocument()               */
  554. /*---------------------------------------------------------------------------*/
  555. typedef enum {
  556.    FORM_SEND,                         // Send the Form Overlay
  557.    FORM_DONT_SEND                     // Don't Send the Form Overlay
  558. } FORMOVERLAY, *PFORMOVERLAY;
  559.  
  560. /*---------------------------------------------------------------------------*/
  561. /*    Document COPYTYPE Options                                              */
  562. /*---------------------------------------------------------------------------*/
  563. typedef enum {
  564.    COPY_IODM_DECIDES,                 // IODM Determines which copy to use
  565.    COPY_COPIED_VERSION,               // Use a COPIED version
  566.    COPY_BACKUP_COPY,                  // Use a BACKUP copy
  567.    COPY_ANNOTATION_INDEX              // Use the Annotation index
  568. } COPYTYPE, *PCOPYTYPE;
  569.  
  570. /*---------------------------------------------------------------------------*/
  571. /*    Document LOCKTYPE Options                                              */
  572. /*---------------------------------------------------------------------------*/
  573. typedef enum {
  574.    LOCK_DOC_ANNOTATIONS        = 0x00,// Lock Document for annotations
  575.    LOCK_DOC_ANNOTATIONS_ALWAYS = 0x10,// Always Lock Document for annotations
  576.    LOCK_DOC_ABORT              = 0xAA,// Abort previous lock document request
  577.    LOCK_ITEM_QUERY             = 0xAC,// Query lock state
  578.    LOCK_ITEM                   = 0xE0,// Lock Item
  579.    LOCK_ITEM_ABORT             = 0xEA,// UnLock Item
  580.    /*           Future types of locks -- not implemented yet                 */
  581.    LOCK_DOC_UPDATE             = 0x01,// Lock Document for update
  582.    LOCK_DOC_UPDATE_ALWAYS      = 0x11,// Always Lock Document for update
  583.    LOCK_DOC_NEW_VERSION        = 0x02,// Lock Document for new version
  584.    LOCK_DOC_NEW_VERSION_ALWAYS = 0x12 // Always Lock Document for new version
  585. } DOCLOCKTYPE, *PDOCLOCKTYPE;
  586.  
  587. /*---------------------------------------------------------------------------*/
  588. /*    IODM LOCK Responses  (In HostRC)                                       */
  589. /*---------------------------------------------------------------------------*/
  590. #define LOCKR_OK                     "00"
  591. #define LOCKR_ALREADY_LOCKED         "80"
  592. #define LOCKR_NOT_AUTHORIZED         "81"
  593. #define LOCKR_OBJECT_OLD             "82"
  594. #define LOCKR_ANNOTATION_OLD         "83"
  595. #define LOCKR_OBJECT_SIZE_ERROR      "84"
  596. #define LOCKR_ANNOTATION_SIZE_ERROR  "85"
  597. #define LOCKR_UNKNOWN_ITEM           "86"
  598. #define LOCKR_CICS_FAILURE           "92"
  599. #define LOCKR_EXIT_FAILURE           "94"
  600. #define LOCKR_IODM_FAILURE           "95"
  601.  
  602. /*---------------------------------------------------------------------------*/
  603. /*    Document CHANGETYPE Options                                            */
  604. /*---------------------------------------------------------------------------*/
  605. typedef enum {
  606.    CHG_UNLOCK                 = 0x00,// UnLock Document
  607.    CHG_ANNOTATIONS_ADDED      = 0x01,// Document annotations added
  608.    CHG_ANNOTATIONS_CLEARED    = 0xFF,// Document annotations deleted
  609.    /*           Future types of changes -- not implemented yet               */
  610.    CHG_ANNOTATIONS_DELETED    = 0x08,// Document annotations deleted
  611.    CHG_MASKS_ADDED            = 0x10,// Document Masks added
  612.    CHG_MASKS_DELETED          = 0x80 // Document Masks deleted
  613. } DOCCHGTYPE, *PDOCCHGTYPE;
  614.  
  615. /*---------------------------------------------------------------------------*/
  616. /*    Document OBJCNTL Options -- Location Limitation                        */
  617. /*---------------------------------------------------------------------------*/
  618. typedef enum {
  619.    CNTL_DASD_ONLY=1,                  // Display and Retrieval
  620.    CNTL_DASD_OR_OPTICAL,              // Display and Retrieval
  621.    CNTL_DASD_OR_IODM_PRF,             // Display only not Retrieval
  622.    CNTL_DASD_OPTICAL_OR_SHELF         // Display and Retrieval
  623. } OBJCNTL, *POBJCNTL;
  624.  
  625. /*---------------------------------------------------------------------------*/
  626. /*    Document Modify -- Page Change or Extract Options                      */
  627. /*---------------------------------------------------------------------------*/
  628. typedef enum {
  629.    PAGES_DELETE = 1,                  // Delete Pages
  630.    PAGES_INSERT,                      // Insert Pages
  631.    PAGES_REPLACE,                     // Replace Pages
  632.    PAGES_RESEQUENCE,                  // Resequence Pages
  633.    PAGES_EXTRACT                      // Extract Pages
  634. } FPGINFO, *PFPGINFO;
  635.  
  636. /*---------------------------------------------------------------------------*/
  637. /*    DOCUMENT Temporary ID Format -- Used in the Creation of a New Doc.     */
  638. /*---------------------------------------------------------------------------*/
  639. typedef enum {
  640.    TID_FOLDERID = 1,                  // TEMPID = FOLDERID
  641.    TID_FOLDERID_PLUS3,                // TEMPID = FOLDERID+3 random digits
  642.    TID_RANDOM_6,                      // TEMPID = 6 Random digits (default)
  643.    TID_PREFIXD_PLUS_6                 // TEMPID - "PREFIXD" + 6 Random digits
  644. } TIDOPTION, *PTIDOPTION;
  645.  
  646. /*---------------------------------------------------------------------------*/
  647. /*    DOCUMENT Storage Struct - Used to Select where a document is stored    */
  648. /*---------------------------------------------------------------------------*/
  649. typedef enum {
  650.    CNTL_CREATE_BUFFER,                // Document Buffer is to be created
  651.    CNTL_USE_BUFFER,                   // Document Buffer is passed as param
  652.    CNTL_USE_FILE                      // Document is in a file
  653. } LOCOPTS, *PLOCOPTS;
  654.  
  655. /*---------------------------------------------------------------------------*/
  656. /*    Pending Document DELETE Options                                        */
  657. /*---------------------------------------------------------------------------*/
  658. typedef enum {
  659.    PURGE_FAF_AND_ODM,                 // Delete from IPFAF and IODM
  660.    PURGE_ODM_ONLY,                    // Delete from IODM only
  661.    PURGE_FAF_ONLY                     // Delete from FAF only
  662. } PURGETID, *PPURGETID;
  663.  
  664. /*---------------------------------------------------------------------------*/
  665. /*    Pending Document Type -- MODIFY or SCAN                                */
  666. /*---------------------------------------------------------------------------*/
  667. typedef enum {
  668.    TEMP_SCAN_ONLY = 1,                // SCAN Pending Only
  669.    TEMP_MODIFY_ONLY                   // MODIFY Pending Only
  670. } TEMPTYPE, *PTEMPTYPE;
  671.  
  672. /*---------------------------------------------------------------------------*/
  673. /*    FafDropWorkItem -- Drop Action Options                                 */
  674. /*---------------------------------------------------------------------------*/
  675. typedef enum {
  676.    DROP_IODM_NO_ACTION,               // IODM does nothing (Default)
  677.    DROP_IODM_WORKING_COPY,            // IODM deletes the Working Copy
  678.    DROP_IODM_CHANGE_SMS               // IODM changes the Docs SMS Options
  679. } DROPACT, *PDROPACT;
  680.  
  681.  
  682. /*---------------------------------------------------------------------------*/
  683. /*    FafDropWorkItem -- Delete Action Options                               */
  684. /*---------------------------------------------------------------------------*/
  685. typedef enum {
  686.    WI_DLTE_ONLY = 1,                  // Delete the WorkItem Only (Default)
  687.    WI_DLTE_AND_FILEDATE               // Delete WI and Update FileDate
  688. } DLTEACT, *PDLTEACT;
  689.  
  690.  
  691. /*---------------------------------------------------------------------------*/
  692. /*    FafFindWorkxxxxxx -- ASSIGNED Selection Options                        */
  693. /*---------------------------------------------------------------------------*/
  694. typedef enum {
  695.    FIND_IN_ASGN_ONLY = 1,             // Find Assigned Documents Only
  696.    FIND_NOT_ASGN_ONLY,                // Find Unassigned Documents Only
  697.    FIND_BOTH_ASGN_NOASGN              // Find Both (Default)
  698. } ASGNACT, *PASGNACT;
  699.  
  700. /*---------------------------------------------------------------------------*/
  701. /*    FafFindWorkxxxxxx -- HOLD Selection Options                            */
  702. /*---------------------------------------------------------------------------*/
  703. typedef enum {
  704.    FIND_ON_HOLD_ONLY=1,               // Find Documents on Hold Only
  705.    FIND_NOT_ON_HOLD_ONLY,             // Find Documents Not on Hold Only
  706.    FIND_BOTH_HOLD_NOHOLD              // Find Both (Default)
  707. } HOLDACT, *PHOLDACT;
  708.  
  709. /*---------------------------------------------------------------------------*/
  710. /*    FafFindWorkxxxxxx -- PROCESS Selection Options                         */
  711. /*---------------------------------------------------------------------------*/
  712. typedef enum {
  713.    FIND_IN_PROC_ONLY = 1,             // Find Documents in Process Only
  714.    FIND_NOT_IN_PROC_ONLY,             // Find Documents Not in Process Only
  715.    FIND_BOTH_PROC_NOPROC              // Find Both (Default)
  716. } PROCACT, *PPROCACT;
  717.  
  718. /*---------------------------------------------------------------------------*/
  719. /*    WORKQUEUE Assignment Status -- Selection Options                       */
  720. /*---------------------------------------------------------------------------*/
  721. typedef enum {
  722.    STAT_INACTIVE_ONLY,                // (Default) Inactv Assignments Only
  723.    STAT_ACTIVE_ONLY,                  // Active Assignmente Only
  724.    STAT_BOTH_ACTV_INACTV              // Both Active and Inactive
  725. } STATSRCH, *PSTATSRCH;
  726.  
  727. /*---------------------------------------------------------------------------*/
  728. /*    RDEFWORK Parameters                                                    */
  729. /*---------------------------------------------------------------------------*/
  730. typedef enum {
  731.    W_RECVDATE = 1048,
  732.    W_AGINGDTE = 1105,
  733.    W_ASGNEMPL = 1107,
  734.    W_RUNIT    = 1115,
  735.    W_DOCNO    = 1117,
  736.    W_EXPRDATE = 1120,
  737.    W_HOLDDATE = 1123,
  738.    W_HOLDTIME = 1124,
  739.    W_OVERPIND = 1127,
  740.    W_PRIORITY = 1128,
  741.    W_PROCRSET = 1131,
  742.    W_RCODE    = 1134,
  743.    W_RLOB     = 1135,
  744.    W_TRANTYPE = 1138,
  745.    W_USERPRM1 = 1139,
  746.    W_AGEPRIO  = 1141,
  747.    W_BASEPRIO = 1142,
  748.    W_USERPRM2 = 1143,
  749.    W_USERDET  = 1147
  750. } RDEFWORK_PARMS, *PRDEFWORK_PARMS;
  751.  
  752. /*---------------------------------------------------------------------------*/
  753. /*    RDEFASGN Parameters                                                    */
  754. /*---------------------------------------------------------------------------*/
  755. typedef enum {
  756.    A_ASGNSTAT = 1048,
  757.    A_QPRTY    = 1105,
  758.    A_ASGNEMPL = 1107,
  759.    A_RUNIT    = 1115,
  760.    A_DOCNO    = 1117,
  761.    A_EXPRDATE = 1120,
  762.    A_HOLDDATE = 1123,
  763.    A_HOLDTIME = 1124,
  764.    A_OVERPIND = 1127,
  765.    A_PRIORITY = 1128,
  766.    A_PROCRSET = 1131,
  767.    A_RCODE    = 1134,
  768.    A_RLOB     = 1135,
  769.    A_TRANTYPE = 1138,
  770.    A_USERPRM1 = 1139,
  771.    A_AGEPRIO  = 1141,
  772.    A_BASEPRIO = 1142,
  773.    A_USERPRM2 = 1143,
  774.    A_USERDET  = 1147
  775. } RDEFASGN_PARMS, *PRDEFASGN_PARMS;
  776.  
  777.  
  778. /*===========================================================================*/
  779. /*                                                                           */
  780. /*                   IPFAF WorkStation Data Types                            */
  781. /*                   ----------------------------                            */
  782. /*    These are the data type definitions for the IPFAF WorkStation API.     */
  783. /*                                                                           */
  784. /*===========================================================================*/
  785. typedef  char  APPLIDCD[5+1],    *PAPPLIDCD;      // APPLID Code
  786. typedef  char  DOCID[30+1],      *PDOCID;         // Time+Date+CreateSite
  787. typedef  char  DOCNAME[40+1],    *PDOCNAME;       // Doc Name in IODM
  788. typedef  char  DOCNUM[5+1],      *PDOCNUM;        // Document Number
  789. typedef  char  DOCVERSION[5+1],  *PDOCVERSION;    // Document Version
  790. typedef  char  ERRORPRODUCT[5+1],*PERRORPRODUCT;  // OUTCOMEINFO returned
  791. typedef  char  EVENTCODE[5+1],   *PEVENTCODE;     // Event Code
  792. typedef  char  FAFDATE[10+1],    *PFAFDATE;       // IPFAF Date Type
  793. typedef  char  FAFSTRL[10+1],    *PFAFSTRL;       // IPFAF Long String
  794. typedef  char  FAFSTRS[5+1],     *PFAFSTRS;       // IPFAF Short String
  795. typedef  char  FAFTIME[8+1],     *PFAFTIME;       // IPFAF Time Type
  796. typedef  char  FCODEPAGE[5+1],   *PFCODEPAGE;     // Code Page
  797. typedef  char  FEAKEY[128],      *PFEAKEY;        // IPFAF FEA Object Index Key
  798. typedef  char  FILETAB[5+1],     *PFILETAB;       // File Tab Code
  799. typedef  char  FOLDERID[40+1],   *PFOLDERID;      // User Supplied
  800. typedef  char  FOLDERTOKEN[26+1],*PFOLDERTOKEN;   // System Supplied
  801. typedef  char  FOLDERTYPE[5+1],  *PFOLDERTYPE;    // Folder Type
  802. typedef  char  FORMCODE[5+1],    *PFORMCODE;      // Form Code
  803. typedef  char  FORMNUM[16+1],    *PFORMNUM;       // Document Form Number
  804. typedef  char  HOSTRC[2+1],      *PHOSTRC;        // Host Return Code
  805. typedef  char  HOSTREASON[4+1],  *PHOSTREASON;    // Host Reason Code
  806. typedef  char  INDEXID[5+1],     *PINDEXID;       // Secondary IndexID
  807. typedef  char  RCODE[6+1],       *PRCODE;         // Route Code within Unit
  808. typedef  char  RETPERIOD[10+1],  *PRETPERIOD;     // Retention Period
  809. typedef  char  RETRYCNT[5+1],    *PRETRYCNT;      // Retry Count
  810. typedef  char  RLOB[6+1],        *PRLOB;          // Routing Line Of Business
  811. typedef  char  RUNIT[10+1],      *PRUNIT;         // Routing Unit
  812. typedef  char  TEMPID[55+1],     *PTEMPID;        // Doc Pending TEMPORARY ID.
  813. typedef  char  TIMESTAMP[26+1],  *PTIMESTAMP;     // DB2 Timestamp
  814. typedef  char  TRANSNUM[26+1],   *PTRANSNUM;      // Time+Date of Faf-ODM Req.
  815. typedef  char  USERSTATUS[1+1],  *PUSERSTATUS;    // User Status
  816. typedef  char  WIPRIORITY[5+1],  *PWIPRIORITY;    // WorkItem Priority
  817.  
  818. typedef  unsigned char           *PHBUF;          // Pointer to Buffer
  819.  
  820. typedef ULONG  HFSESSION,        *PHFSESSION;     // User Session with FAF
  821.  
  822.  
  823. /*===========================================================================*/
  824. /*                                                                           */
  825. /*                   IPFAF WorkStation Structures                            */
  826. /*                   ----------------------------                            */
  827. /*    These are the data structure for the IPFAF WorkStation API.            */
  828. /*                                                                           */
  829. /*===========================================================================*/
  830. /*    FAFRESULT -- API Return Structure                                      */
  831. /*---------------------------------------------------------------------------*/
  832. typedef struct _FAFRESULT {
  833.    ULONG         ulStruct;            // Size of this data structure
  834.    ULONG         ulClientRC;          // Faf Client API Return Code
  835.    ULONG         ulClientReas1;       // Faf Client API Reason Code 1
  836.    ULONG         ulClientReas2;       // Faf Client API Reason Code 2
  837.    USHORT        usCount1;            // Count of items returned 1
  838.    PVOID         pRetVals1;           // Pointer to item(s) returned 1
  839.    USHORT        usCount2;            // Count of items returned 2
  840.    PVOID         pRetVals2;           // Pointer to item(s) returned 2
  841.    USHORT        usCount3;            // Count of items returned 3
  842.    PVOID         pRetVals3;           // Pointer to item(s) returned 3
  843.    USHORT        usCount4;            // Count of items returned 4     (RETAREA)
  844.    PVOID         pRetVals4;           // Pointer to item(s) returned 4 (RETAREA)
  845.    USHORT        usCount5;            // Count of items returned 5     (TIMEDATA)
  846.    PVOID         pRetVals5;           // Pointer to item(s) returned 5 (TIMEDATA)
  847.    HOSTRC        HostRC;              // Faf API Host Return code
  848.    HOSTREASON    HostReas1;           // Faf API Host Reason Code 1
  849.    HOSTREASON    HostReas2;           // Faf API Host Reason Code 2
  850. } FAFRESULT, *PFAFRESULT;
  851.  
  852. /*---------------------------------------------------------------------------*/
  853. /*    FCALLBACK -- Asynchronous Execution Control Structure                  */
  854. /*---------------------------------------------------------------------------*/
  855. typedef struct _FCALLBACK {
  856.    ULONG         ulStruct;            // Size of this data structure
  857.    FAFASYNCOPTS  fOption;             // Asynchronous Method flag
  858.    PVOID         hSync;               // Window handle or Event or Semaphore
  859.    ULONG         ulMsgId;             // ID of message to post
  860.    ULONG         ulMsgparm1;          // optional message parameter
  861.    ULONG         ulMsgparm2;          // optional message parameter
  862. } FCALLBACK, *PFCALLBACK;
  863.  
  864. /*---------------------------------------------------------------------------*/
  865. /*    Timestamp Range                                                        */
  866. /*---------------------------------------------------------------------------*/
  867. typedef struct _tsrange {
  868.    ULONG         ulStruct;            // Size of this data structure
  869.    TIMESTAMP     tsStartTime;         // Start time
  870.    TIMESTAMP     tsEndTime;           // End time
  871. } TSRANGE, *PTSRANGE;
  872.  
  873. /*---------------------------------------------------------------------------*/
  874. /*    FAFCONNECTPARMS -- Faf Session Connection Parameters (FafSessionLogon) */
  875. /*---------------------------------------------------------------------------*/
  876. typedef struct _FAFCONNECTPARMS {
  877.    ULONG         ulStruct;            // Size of this data structure
  878.    FAFCONN       FafProtocol;         // FAF_CONN_TCPIP or FAF_CONN_APPC
  879.    USHORT        usFafIpPort;         // TCP/IP Port for IPFAF Host Listener
  880.    char          szFafIP[15+1];       // TCP/IP nnn.nnn.nnn.nnn (FAF)
  881.    FAFCONN       IodmProtocol;        // FAF_CONN_TCPIP or FAF_CONN_APPC
  882.    USHORT        usIodmIpPort;        // TCP/IP Iodm Port for IODM Listener
  883.    char          szIodmIP[15+1];      // TCP/IP nnn.nnn.nnn.nnn (IODM)
  884. } FAFCONNECTPARMS, *PFAFCONNECTPARMS;
  885.  
  886. /*---------------------------------------------------------------------------*/
  887. /*    ODMCOMPLETION -- Allows the Caller to Be Notified of and to designate  */
  888. /*    some host process for the successful or unsuccessful completion of a   */
  889. /*    document related action in ODM.  This action began as a Faf API that   */
  890. /*    returned control to the caller following the asynchronous completion   */
  891. /*    of the action in IODM.  The only way the caller can know of the        */
  892. /*    ultimate outcome is to use this structure on the applicable Faf APIs.  */
  893. /*    The notification is asynchronous to the completion of the FAF API.     */
  894. /*---------------------------------------------------------------------------*/
  895. typedef struct _ODMCOMPLETE {
  896.    ULONG         ulStruct;            // Size of this data structure
  897.    BOOL          fInterest;           // Interest in IODM Outcome TRUE or FALSE
  898.    char          szHostProcess[8+1];  // Opt: trigger this process in the Host
  899.    char          szInputData[253+1];  // Opt: GOODTRAN Input Data
  900. } ODMCOMPLETE, *PODMCOMPLETE;
  901.  
  902. /*---------------------------------------------------------------------------*/
  903. /*    OUTCOMEINFO -- Returned by the FafQueryOutcome API.  The user calls    */
  904. /*    this API to determine the IODM outcome of a previous IPFAF API that    */
  905. /*    returns control to the caller when the IPFAF API initiates some action */
  906. /*    in IODM.  The caller later needs the ultimate outcome of the API.      */
  907. /*---------------------------------------------------------------------------*/
  908. typedef struct _OUTCOMEINFO {
  909.    ULONG         ulStruct;            // Size of this data structure
  910.    OUTCOMESTATUS RespStatus;          // Status of API OUTCOME in IODM
  911.    TRANSNUM      tOdmProcess;         // ODM Transaction Number
  912.    ERRORPRODUCT  ErrorProduct;        // What Returned Error or Warning RC
  913.    HOSTRC        OdmRc;               // ODM Return Code
  914.    HOSTREASON    OdmRea1;             // ODM Reason Code 1
  915.    HOSTREASON    OdmRea2;             // ODM Reason Code 2
  916.    HOSTRC        DB2Rc;               // DB2 Return Code
  917.    HOSTREASON    DB2Rea1;             // DB2 Reason Code 1
  918.    HOSTREASON    DB2Rea2;             // DB2 Reason Code 2
  919.    HOSTRC        FafRc;               // FAF Host API Return Code
  920.    HOSTREASON    FafRea1;             // FAF Host API Reason Code 1
  921.    HOSTREASON    FafRea2;             // FAF Host API Reason Code 2
  922. } OUTCOMEINFO, *POUTCOMEINFO;
  923.  
  924. /*---------------------------------------------------------------------------*/
  925. /*    Folder ID Structure -- Identify a Folder either with the user defined  */
  926. /*    FOLDERID or the system supplied FOLDERTOKEN.  WARNING - if both the    */
  927. /*    FOLDERID and FOLDERTOKEN are supplied, the FOLDERID will be ignored.   */
  928. /*---------------------------------------------------------------------------*/
  929. typedef struct _folderidstruct {
  930.    ULONG         ulStruct;            // Data structure Size
  931.    FOLDERTOKEN   FolderToken;         // Folder Token
  932.    FOLDERID      FolderID;            // Folder ID
  933. } FOLDERIDSTRUCT, *PFOLDERIDSTRUCT;
  934.  
  935. /*---------------------------------------------------------------------------*/
  936. /*    FOLDERATTRS -- The Folder Attributes other than Secondary Index Vals.  */
  937. /*---------------------------------------------------------------------------*/
  938. typedef struct _folderattrs {
  939.    ULONG         ulStruct;            // Data structure Size
  940.    FCODEPAGE     CodePage;            // Code Page
  941.    FAFDATE       dCreateDate;         // Creation Date
  942.    BOOL          fEmptyFolder;        // FALSE=Empty-Delete TRUE=Empty-Keep
  943.    char          szFolderDesc[253+1]; // Folder Description
  944.    FOLDERTYPE    FolderType;          // FolderType Code
  945.    char          szUserData[253+1];   // User Data
  946.    char          szFolderSec[2+1];    // Folder Security Code-User Defined
  947. } FOLDERATTRS, *PFOLDERATTRS;
  948.  
  949. /*---------------------------------------------------------------------------*/
  950. /*    FOLDERINFO -- Folder Information other than Secondary Indices          */
  951. /*---------------------------------------------------------------------------*/
  952. typedef struct _folderinfo {
  953.    ULONG         BlockID;             // Structure Identifier
  954.    ULONG         ulStruct;            // size of this data structure
  955.    FOLDERID      FolderID;            // Folder ID
  956.    FOLDERTOKEN   FolderToken;         // Folder Token
  957.    USHORT        usCodePage;          // Code Page
  958.    FAFDATE       dCreateDate;         // Creation Date
  959.    BOOL          fEmptyFolder;        // TRUE=Empty-Delete FALSE=Empty-Keep
  960.    char          szFolderDesc[253+1]; // Description
  961.    USHORT        usFolderType;        // FolderType Code
  962.    char          szFolderSec[2+1];    // Folder Security Code-User Defined
  963.    char          szUserData[253+1];   // User Data
  964.    TIMESTAMP     tsTimeChanged;       // Time and Date of Last Change.
  965.    PVOID         Tracker;             // Reserved
  966. } FOLDERINFO, *PFOLDERINFO;
  967.  
  968. /*---------------------------------------------------------------------------*/
  969. /*    2ndAryIndex -- An Individual Secondary Index Structure for a Folder    */
  970. /*---------------------------------------------------------------------------*/
  971. typedef struct _S2ndAryIndex {
  972.    ULONG         ulStruct;            // Size of this data structure
  973.    INDEXID       IndexID;             // Index Identifier
  974.    char          szIndexValue[40+1];  // Folder Index Value.
  975. } S2NDARYINDEX, *PS2NDARYINDEX;
  976.  
  977. /*---------------------------------------------------------------------------*/
  978. /*    INDEXDEFSTRUCT -- Definition Activity for the selected Secondary Index */
  979. /*---------------------------------------------------------------------------*/
  980. typedef struct _indexdefine {
  981.    ULONG         ulStruct;            // Size of this data structure
  982.    INDEXACTION   IndexAction;         // Index Action
  983.    INDEXID       IndexID;             // Index Identifier
  984.    char          szIndexValue[40+1];  // Folder Index Value.
  985. } INDEXDEFSTRUCT, *PINDEXDEFSTRUCT;
  986.  
  987. /*---------------------------------------------------------------------------*/
  988. /*    INDEXGETSTRUCT -- Request to get the requested Folder Secondary Index  */
  989. /*---------------------------------------------------------------------------*/
  990. typedef struct _indexget {
  991.    ULONG         ulStruct;            // Size of this data structure
  992.    INDEXID       IndexID;             // Index Identifier
  993. } INDEXGETSTRUCT, *PINDEXGETSTRUCT;
  994.  
  995. /*---------------------------------------------------------------------------*/
  996. /*    FOLDERCURSOR -- Used to Continue a Prior Listing of Folders            */
  997. /*---------------------------------------------------------------------------*/
  998. typedef struct _foldercursor {
  999.    ULONG         BlockID;             // Structure Identifier
  1000.    ULONG         ulStruct;            // size of this data structure
  1001.    FOLDERTOKEN   FolderToken;         // Folder Token
  1002.    FCODEPAGE     CodePage;            // Code Page
  1003.    FAFDATE       dStartDate;          // Start Date
  1004.    FOLDERTYPE    FolderType;          // FolderType Code
  1005.    PVOID         Tracker;             // Reserved
  1006. } FOLDERCURSOR, *PFOLDERCURSOR;
  1007.  
  1008. /*---------------------------------------------------------------------------*/
  1009. /*    Folder Attribute RDEF Structure                                        */
  1010. /*---------------------------------------------------------------------------*/
  1011. typedef struct _rdeffolderattrs {
  1012.    RDEFFOLD_PARMS AttrID;             // Attribute ID
  1013.    char           szAttrValue[256+1]; // String Rep of Attribute Value
  1014. } RDEFFOLDERATTRS, *PRDEFFOLDERATTRS;
  1015.  
  1016. /*---------------------------------------------------------------------------*/
  1017. /*    Document Attribute RDEF Structure                                      */
  1018. /*---------------------------------------------------------------------------*/
  1019. typedef struct _rdefdocattrs {
  1020.    RDEFOBJ_PARMS AttrID;              // Attribute ID
  1021.    char          szAttrValue[256+1];  // String Rep of Attribute Value
  1022. } RDEFDOCATTRS, *PRDEFDOCATTRS;
  1023.  
  1024. /*---------------------------------------------------------------------------*/
  1025. /*    DOCIDSTRUCT -- Provides both the DOCID and FOLDERTOKEN (or FOLDERID)   */
  1026. /*    when both are required as parameters to a Faf API to uniquely identify */
  1027. /*    a Document.  You can specify either FOLDERID or FOLDERTOKEN but not    */
  1028. /*    both.  If both are specified, FOLDERID will be ignored.                */
  1029. /*---------------------------------------------------------------------------*/
  1030. typedef struct _docidstruct {
  1031.    ULONG         ulStruct;            // Size of this data structure
  1032.    DOCID         DocID;               // Document ID
  1033.    FOLDERTOKEN   FolderToken;         // Specify This or FOLDERID
  1034.    FOLDERID      FolderID;            // Specify This or FOLDERTOKEN
  1035. } DOCIDSTRUCT, *PDOCIDSTRUCT;
  1036.  
  1037. /*---------------------------------------------------------------------------*/
  1038. /*    DOCUMENTCURSOR -- Used to Continue a Prior Listing of Documents        */
  1039. /*---------------------------------------------------------------------------*/
  1040. typedef struct _documentcursor {
  1041.    ULONG         BlockID;             // Structure Identifier
  1042.    ULONG         ulStruct;            // size of this data structure
  1043.    DOCID         docid;               // Document ID = Create Site+Timestamp.
  1044.    DOCVERSION    DocVersion;          // Document Version
  1045.    FAFDATE       ReceiveDate;         // Receive Date
  1046.    FILETAB       FileTabCode;         // File Tab Code
  1047.    USERSTATUS    UserStatus;          // User Defined and Interpreted.
  1048.    PVOID         Tracker;             // Reserved
  1049. } DOCUMENTCURSOR, *PDOCUMENTCURSOR;
  1050.  
  1051. /*---------------------------------------------------------------------------*/
  1052. /*    DOCUMENT STORAGE Definitions                                           */
  1053. /*---------------------------------------------------------------------------*/
  1054. typedef struct _docstorage {
  1055.    ULONG         ulStruct;            // Size of this data structure
  1056.    char          szCollName[44+1];    // Collection Name  (MVS OAM)
  1057.    RETPERIOD     RetPer;              // Retention Period (MVS OAM)
  1058.    char          szMgmtCl[8+1];       // Management Class (MVS OAM)
  1059.    char          szStgClass[8+1];     // Storage Class (MVS OAM)
  1060.    char          szStoreSite[4+1];    // Store Site -- IODM ID
  1061. } DOCSTORAGE, *PDOCSTORAGE;
  1062.  
  1063. /*---------------------------------------------------------------------------*/
  1064. /*    DOCUMENT Time Related Identification                                   */
  1065. /*---------------------------------------------------------------------------*/
  1066. typedef struct _doctimeid {
  1067.    ULONG         ulStruct;            // Size of this data structure
  1068.    FAFDATE       ReceiveDate;         // Receive Date
  1069.    TIMESTAMP     tsTimeChanged;       // Date and Time of Last Change.
  1070. } DOCTIMEID, *PDOCTIMEID;
  1071.  
  1072. /*---------------------------------------------------------------------------*/
  1073. /*    DOCUMENT Display Struct - Used to Select a Document to Display -- IWP  */
  1074. /*---------------------------------------------------------------------------*/
  1075. typedef struct _docdisplay {
  1076.    ULONG         ulStruct;            // Size of this data structure
  1077.    DOCID         docid;               // Document ID = Create Site+Timestamp
  1078.    DOCVERSION    DocVersion;          // Document Version
  1079.    FAFDATE       ReceiveDate;         // Receive Date
  1080.    TIMESTAMP     tsTimeChanged;       // Date and Time of Last Change.
  1081.    OBJCNTL       StrgLocOpts;         // Dasd, Optical,Shelf
  1082.    COPYTYPE      CopyOpts;            // IODM Copy Options
  1083.    char          szWksMsg[40+1];      // IWP Message for this Document
  1084.    HOSTRC        HostRC;              // Return Code for this Document
  1085.    HOSTREASON    HostReasonCode1;     // Reason Code 1 for this Document
  1086.    HOSTREASON    HostReasonCode2;     // Reason Code 2 for this Document
  1087. } DOCDISPLAY, *PDOCDISPLAY;
  1088.  
  1089. /*---------------------------------------------------------------------------*/
  1090. /*    DOCUMENT WorkStation Parameters -- For IWP Related Faf APIs            */
  1091. /*---------------------------------------------------------------------------*/
  1092. typedef struct _docwksparms {
  1093.    ULONG         ulStruct;            // Size of this data structure
  1094.    BOOL          fModLeave;           // TRUE=Leave; FALSE=Clear Doc from IWP
  1095.    char          szWorkStation[8+1];  // Target IWP WorkStation
  1096.    char          szFileServer[4+1];   // Workstation File Server(Optional)
  1097.    char          szWksMsg[40+1];      // WorkStation Message (Optional)
  1098. } DOCWKSPARMS, *PDOCWKSPARMS;
  1099.  
  1100. /*---------------------------------------------------------------------------*/
  1101. /*    DOCUMENT Print Location Parameters -- For FafPrintDocument             */
  1102. /*---------------------------------------------------------------------------*/
  1103. typedef struct _docprntparms {
  1104.    ULONG         ulStruct;            // Size of this data structure
  1105.    char          szWorkStation[8+1];  // Target IWP WorkStation
  1106.    char          szFileServer[4+1];   // Workstation File Server(Optional)
  1107.    char          szWksMsg[40+1];      // WorkStation Message (Optional)
  1108. } DOCPRNTPARMS, *PDOCPRNTPARMS;
  1109.  
  1110. /*---------------------------------------------------------------------------*/
  1111. /*    DOCUMENT Attributes -- Used on Document Definition                     */
  1112. /*---------------------------------------------------------------------------*/
  1113. typedef struct _docattrs {
  1114.    ULONG         ulStruct;            // Size of this data structure
  1115.    FCODEPAGE     CodePage;            // Document Code Page
  1116.    FAFDATE       ReceiveDate;         // Receive Date
  1117.    FAFDATE       UserDate;            // User Specified
  1118.    FAFDATE       FileDate;            // User Specified.
  1119.    char          szDocDesc[253+1];    // Document Description
  1120.    USERSTATUS    UserStatus;          // User Defined and Interpreted.
  1121.    FILETAB       TabCode;             // File Tab Code
  1122.    FORMCODE      FormCode;            // Form Code.
  1123.    char          szUserData[253+1];   // Application Dependent
  1124.    char          szFormNumber[16+1];  // Form Number Info.
  1125.    char          szSecClass[2+1];     // Security Class.
  1126. } DOCATTRS, *PDOCATTRS;
  1127.  
  1128. /*---------------------------------------------------------------------------*/
  1129. /*    DOCUMENT PageRange -- Used on Extract and Modify Operations            */
  1130. /*---------------------------------------------------------------------------*/
  1131. typedef struct _pagerange {
  1132.    ULONG         ulStruct;            // Size of this data structure
  1133.    FPGINFO       PageModOp;           // Page Modify Type
  1134.    USHORT        usStartPage;
  1135.    USHORT        usAfterPage;
  1136.    USHORT        usNumPages;
  1137. } PAGERANGE, *PPAGERANGE;
  1138.  
  1139. /*---------------------------------------------------------------------------*/
  1140. /*    Document Event -- For APIs that Add Events vs Specific Event APIs      */
  1141. /*---------------------------------------------------------------------------*/
  1142. typedef struct _docevent {
  1143.    ULONG         ulStruct;            // Data Structure including this Field
  1144.    EVENTCODE     EventCode;           // Event Code
  1145.    BOOL          fCreateEntry;        // False(Default)=NO,TRUE=YES
  1146.    char          szEventDesc[253+1];  // Event Short Description
  1147.    char          szEventData[253+1];  // Event Data
  1148. } DOCEVENT, *PDOCEVENT;
  1149.  
  1150. /*---------------------------------------------------------------------------*/
  1151. /*    DOCUMENT Info -- Returned on Find, Get or List Operations              */
  1152. /*---------------------------------------------------------------------------*/
  1153. typedef struct _Documentinfo {
  1154.    ULONG         BlockID;             // Structure Identifier
  1155.    ULONG         ulStruct;            // size of this data structure
  1156.    DOCID         docid;               // Document ID + Folder
  1157.    USHORT        usVersion;           // Document Version
  1158.    char          szDocName[253+1];    // Name of the Document
  1159.    char          szCollName[44+1];    // Collection Name
  1160.    USHORT        usDocClass;          // Document Content Class
  1161.    FAFDATE       ReceiveDate;         // Receive Date
  1162.    USERSTATUS    UserStatus;          // User Defined and Interpreted.
  1163.    USHORT        usCodePage;          // Code Page
  1164.    BOOL          fOrigKept;           // FALSE=No Original; TRUE=Orig. Kept.
  1165.    BOOL          fDocStatus;          // FALSE=No Mod. Pend; TRUE=Mod. Pend.
  1166.    FAFDATE       UserDate;            // User Specified
  1167.    USHORT        usNumPages;          // Size in number of pages.
  1168.    FAFDATE       FileDate;            // User Specified.
  1169.    char          szDocDesc[253+1];    // Document Description
  1170.    USHORT        usVersions;          // Number of Versions
  1171.    USHORT        usTabCode;           // File Tab Code
  1172.    USHORT        usFormCode;          // Form Code.
  1173.    FORMNUM       FormNumber;          // Form Number Info.
  1174.    char          szUserData[253+1];   // User Data
  1175.    char          szStoreSite[4+1];    // Store Site IODM
  1176.    char          szSecClass[2+1];     // Security Class.
  1177.    TIMESTAMP     tsTimeChanged;       // Date and Time of Last Change.
  1178.    PVOID         Tracker;             // Reserved
  1179. } DOCUMENTINFO, *PDOCUMENTINFO;
  1180.  
  1181. /*---------------------------------------------------------------------------*/
  1182. /*    ANNOTATIONs Storage Structure                                          */
  1183. /*---------------------------------------------------------------------------*/
  1184. typedef struct _annotationstorage {
  1185.    char          szIdxName[255+1];    // Annotation index path and file name
  1186.    ULONG         ulIdxLength;         // Length of annotation index buffer
  1187.    PBYTE         pIdxBuffer;          // Pointer to annotation index buffer
  1188.    ULONG         ulIdxRC;             // ReturnCode for annotation index
  1189.    HOSTRC        IdxHostRC;           // Return Code for annotation index
  1190.    HOSTREASON    IdxHostReas1;        // Reason Code 1 for annotation index
  1191.    HOSTREASON    IdxHostReas2;        // Reason Code 2 for annotation index
  1192.    char          szObjName[255+1];    // Annotation object path and file name
  1193.    ULONG         ulObjLength;         // Length of annotation object buffer
  1194.    PBYTE         pObjBuffer;          // Pointer to annotation object buffer
  1195.    ULONG         ulObjRC;             // ReturnCode for annotation object
  1196.    HOSTRC        ObjHostRC;           // Return Code for annotation object
  1197.    HOSTREASON    ObjHostReas1;        // Reason Code 1 for annotation object
  1198.    HOSTREASON    ObjHostReas2;        // Reason Code 2 for annotation object
  1199. } ANNOTATIONS, *PANNOTATIONS;
  1200.  
  1201. /*---------------------------------------------------------------------------*/
  1202. /*    DOCUMENT Storage Struct - Used to Select where a document is stored    */
  1203. /*---------------------------------------------------------------------------*/
  1204. typedef struct _locationcntl {
  1205.    ULONG         ulStruct;            // size of this data structure
  1206.    LOCOPTS       LocOpts;             // Document storage location option
  1207.    char          szFileName[255+1];   // Document Path and File name
  1208.    ULONG         ulBuflen;            // Length of Document Buffer
  1209.    PBYTE         pBuffer;             // Pointer to Document Buffer
  1210.    ANNOTATIONS   Annotations;         // Annotation storage structure
  1211. } LOCCNTL, *PLOCCNTL;
  1212.  
  1213. /*---------------------------------------------------------------------------*/
  1214. /*    OVERLAYs Storage Structure                                             */
  1215. /*---------------------------------------------------------------------------*/
  1216. typedef struct _overlaystorage {
  1217.    ULONG         ulOverLen;           // Length of Overlay Buffer
  1218.    PBYTE         pOverBuf;            // Pointer to Overlay Buffer
  1219.    HOSTRC        HostRC;              // Return Code for this Overlay
  1220.    HOSTREASON    HostReas1;           // Reason Code 1 for this Overlay
  1221.    HOSTREASON    HostReas2;           // Reason Code 2 for this Overlay
  1222. } OVERLAYSTRG, *POVERLAYSTRG;
  1223.  
  1224. /*---------------------------------------------------------------------------*/
  1225. /*    DOCUMENT and OVERLAYs Storage Structure                                */
  1226. /*---------------------------------------------------------------------------*/
  1227. typedef struct _docoverlaystorage {
  1228.    ULONG         ulStruct;            // size of this data structure
  1229.    ULONG         ulDocLength;         // Length of Document Buffer
  1230.    PBYTE         pDocument;           // Pointer to Document Buffer
  1231.    ULONG         ulNumOverlays;       // Number of Overlays returned
  1232.    OVERLAYSTRG   aOverlays[MAX_DOC_OVERLAYS]; // Array of Overlay sizes + ptrs
  1233.    ANNOTATIONS   Annotations;         // Annotation storage structure
  1234. } DOCOVERSTRG, *PDOCOVERSTRG;
  1235.  
  1236. /*---------------------------------------------------------------------------*/
  1237. /*    DOCUMENT Temporary ID Format -- Used in the Creation of a New Doc.     */
  1238. /*---------------------------------------------------------------------------*/
  1239. typedef struct _tempidformat {
  1240.    ULONG         ulStruct;            // Data Structure including this Field
  1241.    TIDOPTION     TidOpt;              // Other TID Format Alternatives
  1242.    char          szTidPrefixD[1+1];   // Concatenate with system random number
  1243. } TEMPIDFORMAT, *PTEMPIDFORMAT;
  1244.  
  1245. /*---------------------------------------------------------------------------*/
  1246. /*    Temporary or Pending Document ID Structure. Collection of these        */
  1247. /*    structures are the output of the FafFindPendxxx APIs. There is enough  */
  1248. /*    information in this structure to issue subsequent FafxxxPend APIs.     */
  1249. /*---------------------------------------------------------------------------*/
  1250. typedef struct _pendidstruct {
  1251.    ULONG         BlockID;             // Structure Identifier
  1252.    ULONG         ulStruct;            // size of this data structure
  1253.    TEMPID        TempID;              // Id of Temp or Pend Document
  1254.    TRANSNUM      TempTrans;           // Temporary Transaction Number
  1255.    FOLDERTOKEN   FolderToken;         // Folder Token
  1256.    char          szCreateSite[4+1];   // Document Create Site - IODM ID
  1257.    char          szStoreSite[4+1];    // Store Site -- IODM ID
  1258.    DOCID         DestDocID;           // Dest. DocID+Folder-Mod. Pending Only
  1259.    FOLDERTOKEN   DestFolderToken;     // Dest Folder Token
  1260.    PVOID         Tracker;             // Reserved
  1261. } PENDIDSTRUCT, *PPENDIDSTRUCT;
  1262.  
  1263. /*---------------------------------------------------------------------------*/
  1264. /*    Temporary or Pending Document Info -- Returned on Find Get or List     */
  1265. /*---------------------------------------------------------------------------*/
  1266. typedef struct _tempdocinfo {
  1267.    ULONG         BlockID;             // Structure Identifier
  1268.    ULONG         ulStruct;            // size of this data structure
  1269.    TEMPID        TempID;              // Id of Temp or Pend Document
  1270.    TRANSNUM      TempTrans;           // Temporary Transaction Number
  1271.    char          szCmdName[8+1];      // Tran Name for Pending Document
  1272.    BOOL          fRespPending;        // ODM Resp. Pending FALSE=No,TRUE=YES
  1273.    USHORT        usRetryCnt;          // IODM Retry Count
  1274.    USHORT        usEvent;             // Event Code
  1275.    USHORT        usEventSource;       // Event Code for Source Document
  1276.    BOOL          fCreateEntry;        // False(Default)=NO,TRUE=YES
  1277.    char          szEventDesc[253+1];  // Event Short Description
  1278.    char          szEventData[253+1];  // Event Data
  1279.    FOLDERTOKEN   FolderToken;         // Folder Token
  1280.    DOCID         DocID;               // Document+Folder Identification
  1281.    char          szCreateSite[4+1];   // Document Create Site - IODM ID
  1282.    USHORT        usDocVersion;        // Version
  1283.    FAFDATE       RecvDate;            // Receive Date
  1284.    USHORT        usCodePage;
  1285.    BOOL          fOrigKept;           // FALSE=No; TRUE=Yes.
  1286.    FAFDATE       UserDate;            // User Specified
  1287.    FAFDATE       FileDate;            // User Specified.
  1288.    char          szDocDesc[253+1];
  1289.    char          szUserID[8+1];       // Modifying or Scanning User.
  1290.    char          szGoodTran[8+1];     // Associated Good Tran. IODM Compl.
  1291.    char          szTranData[253+1];   // GOOD/TRAN Input Data
  1292.    char          szBadTran[8+1];      // Associated Bad Tran. IODM Completion
  1293.    USHORT        usUserStatus;        // Status User Defined and Interpreted.
  1294.    USHORT        usTabCode;           // File Tab Code
  1295.    USHORT        usFormCode;          // Form Code
  1296.    char          szUserData[253+1];   // Application Dependent
  1297.    char          szFormNumber[16+1];  // Form Number Info.
  1298.    char          szSecClass[2+1];     // Security Class.
  1299.    char          szCollName[44+1];    // Collection Name  (MVS OAM)
  1300.    ULONG         ulRetPer;            // Retention Period (MVS OAM)
  1301.    char          szMgmtCl[8+1];       // Management Class (MVS OAM)
  1302.    char          szStgClass[8+1];     // Storage Class (MVS OAM)
  1303.    char          szNewStorSite[4+1];  // New Store Site -- IODM ID
  1304.    char          szStoreSite[4+1];    // Store Site -- IODM ID
  1305.    DOCID         DestDocID;           // Dest. DocID+Folder-Mod. Pending Only
  1306.    FOLDERTOKEN   DestFolderToken;     // Dest Folder Token
  1307.    USHORT        usDestDocVersion;    // Dest. Version-Mod Pending Only
  1308.    FAFDATE       DestRecvDate;        // Modify Pending Only
  1309.    char          szVersCollName[44+1];// Collection Name  (MVS OAM)
  1310.    ULONG         ulVersRetPer;        // Retention Period (MVS OAM)
  1311.    char          szVersMgmtCl[8+1];   // Management Class (MVS OAM)
  1312.    char          szVersStgClass[8+1]; // Storage Class (MVS OAM)
  1313.    char          szVersStoreSite[4+1];// Store Site -- IODM ID
  1314.    char          szWorkStation[8+1];  // Target IWP WorkStation
  1315.    char          szFileServer[4+1];   // Workstation File Server(Optional)
  1316.    char          szWksMsg[40+1];      // WorkStation Message (Optional)
  1317.    PVOID         Tracker;             // Reserved
  1318. } TEMPDOCINFO, *PTEMPDOCINFO;
  1319.  
  1320. /*---------------------------------------------------------------------------*/
  1321. /*  Temporary or Pending Document Cursor -- Used to Continue a Prior Find    */
  1322. /*---------------------------------------------------------------------------*/
  1323. typedef struct _tempcursor {
  1324.    ULONG         BlockID;             // Structure Identifier
  1325.    ULONG         ulStruct;            // size of this data structure
  1326.    TIMESTAMP     StartDTTM;           // Continue Date and Time
  1327.    FOLDERTOKEN   Folder;              // Folder Token
  1328.    PVOID         Tracker;             // Reserved
  1329. } TEMPCURSOR, *PTEMPCURSOR;
  1330.  
  1331. /*---------------------------------------------------------------------------*/
  1332. /*    Folder NOTEINFO -- Contains Attributes related to a Note.              */
  1333. /*---------------------------------------------------------------------------*/
  1334. typedef struct _noteinfo {
  1335.    ULONG         BlockID;             // Structure Identifier
  1336.    ULONG         ulStruct;            // size of this data structure
  1337.    USHORT        usCodePage;          // Note Code Page
  1338.    char          szShortDesc[253+1];  // Short Description of the Notes
  1339.    TIMESTAMP     tsTimeCrte;          // Create Time+Date -- Note ID.
  1340.    char          szUserId[8+1];       // Creating Userid.
  1341.    PVOID         Tracker;             // Reserved
  1342. } NOTEINFO, *PNOTEINFO;
  1343.  
  1344. /*---------------------------------------------------------------------------*/
  1345. /*    Folder NOTETEXT -- Contains the length and actual text of the Note     */
  1346. /*---------------------------------------------------------------------------*/
  1347. typedef struct _notetext
  1348. {  ULONG         BlockID;             // Structure Identifier
  1349.    ULONG         ulStruct;            // size of this data structure
  1350.    USHORT        usCodePage;          // Note Code Page
  1351.    char          szShortDesc[253+1];  // Short Descript
  1352.    char          szUserId[8+1];       // Creating Userid.
  1353.    ULONG         ulNoteLength;        // The Note Length
  1354.    char          pNoteContent[3500+1];// Actual Note Content.
  1355.    PVOID         Tracker;             // Reserved
  1356. } NOTETEXT, *PNOTETEXT;
  1357.  
  1358. /*---------------------------------------------------------------------------*/
  1359. /*    Document Event Types                                                   */
  1360. /*---------------------------------------------------------------------------*/
  1361. typedef struct _event {
  1362.    ULONG         BlockID;             // Block ID - Ignored on Input
  1363.    ULONG         ulStruct;            // Data Structure Length
  1364.    DOCVERSION    DocVersion;          // Document Version
  1365.    EVENTCODE     EventCode;           // Event Code
  1366.    char          szEventDesc[253+1];  // Event Short Description
  1367.    char          szEventData[253+1];  // Event Data
  1368.    TIMESTAMP     tsTimeCrte;          // Event Creation
  1369.    char          szUser[8+1];         // User who created the event
  1370.    char          szWkStation[8+1];    // Event Workstation.
  1371.    FCODEPAGE     CodePage;            // Event Code Page.
  1372.    PVOID         Tracker;             // Reserved Ignored on Input
  1373. } EVENT, *PEVENT;
  1374.  
  1375. /*---------------------------------------------------------------------------*/
  1376. /*    WORKQUEUE ID -- Identifies Queue of Documents (WorkItems)              */
  1377. /*---------------------------------------------------------------------------*/
  1378. typedef struct _wqid {
  1379.    ULONG         ulStruct;            // size of this data structure
  1380.    RUNIT         RoutingUnit;         // Organizational Unit
  1381.    RCODE         RouteCode;           // Route Code within Unit
  1382. } WQID, *PWQID;
  1383.  
  1384. /*---------------------------------------------------------------------------*/
  1385. /*    Document Attribute RDEF Structure                                      */
  1386. /*---------------------------------------------------------------------------*/
  1387. typedef struct _rdefworkattrs {
  1388.    RDEFWORK_PARMS AttrID;             // Attribute ID
  1389.    char           szAttrValue[256+1]; // String Rep of Attribute Value
  1390. } RDEFWORKATTRS, *PRDEFWORKATTRS;
  1391.  
  1392. /*---------------------------------------------------------------------------*/
  1393. /*    WORKQUEUE -- A Queue of Documents (WorkItems) to be Processed.         */
  1394. /*---------------------------------------------------------------------------*/
  1395. typedef struct _workqueue {
  1396.    ULONG         BlockID;             // Structure Identifier
  1397.    ULONG         ulStruct;            // size of this data structure
  1398.    ULONG         ulRoutingUnit;       // Organizational Unit
  1399.    RCODE         RouteCode;           // Route Code within Unit
  1400.    char          szWqDesc[253+1];     // WQ Description
  1401.    TIMESTAMP     tsTimeChanged;       // Time and Date of Last Change.
  1402.    PVOID         Tracker;             // Reserved
  1403. } WORKQUEUE, *PWORKQUEUE;
  1404.  
  1405. /*---------------------------------------------------------------------------*/
  1406. /*    WORKQUEUE ASSIGNMENT -- A User Assigned to a WorkQueue                 */
  1407. /*---------------------------------------------------------------------------*/
  1408. typedef struct _wqassign {
  1409.    ULONG         BlockID;             // Structure Identifier
  1410.    ULONG         ulStruct;            // size of this data structure
  1411.    RUNIT         RoutingUnit;         // Organizational Unit
  1412.    RCODE         RouteCode;           // Route Code within Unit
  1413.    char          szUserid[8+1];       // Userid.
  1414.    USHORT        usQueuePrty;         // Assignment Priority
  1415.    BOOL          fWqAsgnStatus;       // "FALSE = Inactive" or "TRUE = Active"
  1416.    PVOID         Tracker;             // Reserved
  1417. } WQASSIGN, *PWQASSIGN;
  1418.  
  1419. /*---------------------------------------------------------------------------*/
  1420. /*    WORK ASSIGNMENT Cursor -- Used to Continue a List WorkAssignment API   */
  1421. /*---------------------------------------------------------------------------*/
  1422. typedef struct _workasgncursor {
  1423.    ULONG         BlockID;             // Structure Identifier
  1424.    ULONG         ulStruct;            // size of this data structure
  1425.    RUNIT         RoutingUnit;         // Organizational Unit
  1426.    RCODE         RouteCode;           // Route Code within Unit
  1427.    char          szUserid[8+1];       // Userid.
  1428.    USHORT        usQueuePrty;         // Assignment Priority
  1429.    PVOID         Tracker;             // Reserved
  1430. } WORKASGNCURSOR, *PWORKASGNCURSOR;
  1431.  
  1432. /*---------------------------------------------------------------------------*/
  1433. /*    Work ITEM Routing - Control for WorkItem assigned to a WorkQueue       */
  1434. /*---------------------------------------------------------------------------*/
  1435. typedef struct _workrouting {
  1436.    ULONG         ulStruct;            // size of this data structure
  1437.    RLOB          RoutingLOB;          // Routing Line of Business
  1438.    char          szTranType[6+1];     // Transaction Type
  1439.    char          szUserPrm1[4+1];     // User Parameter One
  1440.    ULONG         ulUserPrm2;          // User Parameter Two
  1441. } WORKROUTING, *PWORKROUTING;
  1442.  
  1443. /*---------------------------------------------------------------------------*/
  1444. /*    WORKITEM RoutingInfo - Used by FafGetRoutingInfo                       */
  1445. /*---------------------------------------------------------------------------*/
  1446. typedef struct _routinginfo {
  1447.    ULONG         BlockID;             // Structure Identifier
  1448.    ULONG         ulStruct;            // size of this data structure
  1449.    USHORT        usAgingHigh;         // High Aging Factor
  1450.    USHORT        usAgingLow;          // Low Aging Factor
  1451.    USHORT        usAgingMedium;       // Medium Aging Factor
  1452.    USHORT        usAgingNormal;       // Normal Aging Factor
  1453.    char          szAssignedEmpl[8+1]; // WorkItem Assigned to this User
  1454.    USHORT        usBasePrtyHigh;      // High Base Priority
  1455.    USHORT        usBasePrtyLow;       // Low Base Priority
  1456.    USHORT        usBasePrtyMedium;    // Medium Base Priority
  1457.    USHORT        usBasePrtyNormal;    // Normal Base Priority
  1458.    char          szWorkCategory[2+1]; // Category of Work
  1459.    RLOB          rNextRLOB;           // Next Routing Line of Business
  1460.    char          szTranType[6+1];     // Transaction Type
  1461.    BOOL          fOperational;        // Application Dependent
  1462.    RCODE         RouteCode;           // Routing Code
  1463.    PVOID         Tracker;             // Reserved
  1464. } ROUTINGINFO, *PROUTINGINFO;
  1465.  
  1466. /*---------------------------------------------------------------------------*/
  1467. /*    WORKITEM PRIORITY -- Control Fields that Set the WorkItem Priority     */
  1468. /*---------------------------------------------------------------------------*/
  1469. typedef struct _workitempriority {
  1470.    ULONG         ulStruct;            // size of this data structure
  1471.    WIPRIORITY    Priority;            // Priority of WorkItem
  1472.    WIPRIORITY    AgingPriority;       // Aging Priority
  1473.    WIPRIORITY    BasePriority;        // Base Priority
  1474.    WIPRIORITY    PrtyOverride;        // Priority Override Indicator
  1475. } WORKITEMPRIORITY, *PWORKITEMPRIORITY;
  1476.  
  1477. /*---------------------------------------------------------------------------*/
  1478. /*    WORKITEM INIT - Work Item Initialization Parameters                    */
  1479. /*---------------------------------------------------------------------------*/
  1480. typedef struct _workiteminit {
  1481.    ULONG         ulStruct;            // size of this data structure
  1482.    char          szAssignedEmpl[8+1]; // WorkItem Assigned to this User
  1483.    FAFDATE       AgingDate;           // User Specified Aging Date
  1484.    FAFDATE       ExpireDate;          // User Specified Expiration Date
  1485.    TIMESTAMP     tsHold;              // Hold Process until this time and date
  1486.    DOCNUM        DocNumber;           // User Supplied Document Number
  1487.    char          szUserDetail[40+1];  // User Defined
  1488. } WORKITEMINIT, *PWORKITEMINIT;
  1489.  
  1490. /*---------------------------------------------------------------------------*/
  1491. /*    WORKITEM  -- "A Document Assigned to a WorkQueue for Routing"          */
  1492. /*---------------------------------------------------------------------------*/
  1493. typedef struct _workitem {
  1494.    ULONG         BlockID;              // Structure Identifier
  1495.    ULONG         ulStruct;             // size of this data structure
  1496.    ULONG         ulRoutingUnit;        // Organizational Unit
  1497.    RCODE         RouteCode;            // Route Code within Unit
  1498.    DOCID         DocID;                // Document ID
  1499.    FAFDATE       ReceiveDate;          // Receive Date
  1500.    FOLDERTOKEN   Folder;               // Folder that Contains the Doc.
  1501.    char          szAssignedEmpl[8+1];  // WorkItem Assigned to this User
  1502.    char          szProcessingEmpl[8+1];// WorkItem Checked-Out to this User
  1503.    FAFTIME       tHoldTime;            // Hold Process until this Time
  1504.    FAFDATE       dHoldDate;            // Hold Process until this Date
  1505.    FAFDATE       AgingDate;            // User Specified Aging Date
  1506.    FAFDATE       ExpireDate;           // User Specified Expiration Date
  1507.    USHORT        usPriority;           // Priority of WorkItem
  1508.    USHORT        usAgingPriority;      // Aging Priority
  1509.    USHORT        usBasePriority;       // Base Priority
  1510.    USHORT        usPrtyOverride;       // Priority Override Indicator
  1511.    USHORT        usDocNumber;          // User Supplied Document Number
  1512.    char          szUserDetail[40+1];   // User Defined
  1513.    RLOB          RoutingLOB;           // Routing Line of Business
  1514.    char          szTranType[6+1];      // Transaction Type
  1515.    char          szUserPrm1[4+1];      // User Parameter One
  1516.    ULONG         ulUserPrm2;           // User Parameter Two
  1517.    TIMESTAMP     tsTimeChanged;        // Time and Date of Last Change.
  1518.    PVOID         Tracker;              // Reserved
  1519. } WORKITEM, *PWORKITEM;
  1520.  
  1521. /*---------------------------------------------------------------------------*/
  1522. /*    WORKITEM GETWORK Cursor -- Used to Continue a Prior "GETWORK" API      */
  1523. /*---------------------------------------------------------------------------*/
  1524. typedef struct _getworkcursor {
  1525.    ULONG         BlockID;              // Structure Identifier
  1526.    ULONG         ulStruct;             // size of this data structure
  1527.    RUNIT         RoutingUnit;          // Organizational Unit
  1528.    RCODE         RouteCode;            // Route Code within Unit
  1529.    DOCID         DocID;                // Document ID
  1530.    char          szAssignedEmpl[8+1];  // WorkItem Assigned to this User
  1531.    char          szProcessingEmpl[8+1];// WorkItem Checked-Out to this User
  1532.    FAFDATE       AgingDate;            // User Specified Aging Date
  1533.    WIPRIORITY    Priority;             // Priority of WorkItem
  1534.    PVOID         Tracker;              // Reserved
  1535. } GETWORKCURSOR, *PGETWORKCURSOR;
  1536.  
  1537. /*---------------------------------------------------------------------------*/
  1538. /*    WORKITEM WORK Cursor -- Used to Continue a Prior ListWork Variant API  */
  1539. /*---------------------------------------------------------------------------*/
  1540. typedef struct _workcursor {
  1541.    ULONG         BlockID;              // Structure Identifier
  1542.    ULONG         ulStruct;             // size of this data structure
  1543.    RUNIT         RoutingUnit;          // Organizational Unit
  1544.    RCODE         RouteCode;            // Route Code within Unit
  1545.    DOCID         DocID;                // Document ID
  1546.    FOLDERTOKEN   FolderToken;          // Folder that Contains the Doc.
  1547.    char          szAssignedEmpl[8+1];  // WorkItem Assigned to this User
  1548.    char          szProcessingEmpl[8+1];// WorkItem Checked-Out to this User
  1549.    FAFDATE       AgingDate;            // User Specified Aging Date
  1550.    WIPRIORITY    Priority;             // Priority of WorkItem
  1551.    PVOID         Tracker;              // Reserved
  1552. } WORKCURSOR, *PWORKCURSOR;
  1553.  
  1554. /*---------------------------------------------------------------------------*/
  1555. /*    The following is to support C++ compilers                              */
  1556. /*---------------------------------------------------------------------------*/
  1557. #ifdef __cplusplus
  1558.    extern "C" {
  1559. #endif
  1560.  
  1561. /*---------------------------------------------------------------------------*/
  1562. /*    IPFAF Workstation Client Session Management APIs                       */
  1563. /*---------------------------------------------------------------------------*/
  1564. APIEXPORT ULONG  FAFENTRY  FafCustomerConduit(
  1565.                                        HFSESSION         hFSession,
  1566.                                        PVOID             pCustomerData,
  1567.                                        USHORT            usDataLength,
  1568.                                        PFAFRESULT        pFR );
  1569. APIEXPORT ULONG  FAFENTRY  FafFreeResource(
  1570.                                        HFSESSION         hFSession,
  1571.                                        PVOID             pResource,
  1572.                                        PFAFRESULT        pFR );
  1573. APIEXPORT ULONG  FAFENTRY  FafQueryOutcome(
  1574.                                        HFSESSION         hFSession,
  1575.                                        PTRANSNUM         pTransNum,
  1576.                                        PFCALLBACK        pFCallBack,
  1577.                                        PFAFRESULT        pFR );
  1578. APIEXPORT ULONG  FAFENTRY  FafSessionConnect(
  1579.                                        APPLIDCD          ApplidCD,
  1580.                                        PSZ               pszUserid,
  1581.                                        PSZ               pszPassWord,
  1582.                                        PSZ               pszNewPswd,
  1583.                                        PSZ               pszOdmTermid,
  1584.                                        PSZ               pszOdmUserid,
  1585.                                        PSZ               pszOdmPassWord,
  1586.                                        PSZ               pszOdmNewPswd,
  1587.                                        PFAFCONNECTPARMS  pFafConn,
  1588.                                        PFAFRESULT        pFR );
  1589. APIEXPORT ULONG  FAFENTRY  FafSessionDisconnect(
  1590.                                        HFSESSION         hFSession,
  1591.                                        PFCALLBACK        pFCallBack,
  1592.                                        PFAFRESULT        pFR );
  1593.  
  1594. /*---------------------------------------------------------------------------*/
  1595. /*    IPFAF Workstation Client Folder Management APIs                        */
  1596. /*---------------------------------------------------------------------------*/
  1597. APIEXPORT ULONG  FAFENTRY  FafDefineFolder(
  1598.                                        HFSESSION         hFSession,
  1599.                                        PFOLDERID         folderID,
  1600.                                        PFOLDERATTRS      pFolderAttrs,
  1601.                                        USHORT            usNumIndices,
  1602.                                        PINDEXDEFSTRUCT   pIndexDefs,
  1603.                                        PFCALLBACK        pFCallBack,
  1604.                                        PFAFRESULT        pFR );
  1605. APIEXPORT ULONG  FAFENTRY  FafDeleteFolder(
  1606.                                        HFSESSION         hFSession,
  1607.                                        PFOLDERIDSTRUCT   pFolder,
  1608.                                        BOOL              fNoOdmDelete,
  1609.                                        PODMCOMPLETE      pBadODMResp,
  1610.                                        PFCALLBACK        pFCallBack,
  1611.                                        PFAFRESULT        pFR );
  1612. APIEXPORT ULONG  FAFENTRY  FafFindFolders(
  1613.                                        HFSESSION         hFSession,
  1614.                                        PFOLDERCURSOR     pFolderCursor,
  1615.                                        PS2NDARYINDEX     pIndexVal,
  1616.                                        PFOLDERTYPE       pFolderType,
  1617.                                        PFAFDATE          pDsStartDate,
  1618.                                        PFAFDATE          pdsEndDate,
  1619.                                        PFCODEPAGE        CodePage,
  1620.                                        USHORT            usToBeRet,
  1621.                                        PFCALLBACK        pFCallBack,
  1622.                                        PFAFRESULT        pFR );
  1623. APIEXPORT ULONG  FAFENTRY  FafFindFolderSingle(
  1624.                                        HFSESSION         hFSession,
  1625.                                        PFOLDERIDSTRUCT   pFolder,
  1626.                                        PFCALLBACK        pFCallBack,
  1627.                                        PFAFRESULT        pFR );
  1628. APIEXPORT ULONG  FAFENTRY  FafGetFolderIndexValues(
  1629.                                        HFSESSION         hFSession,
  1630.                                        PFOLDERIDSTRUCT   pFolder,
  1631.                                        USHORT            usNumIndices,
  1632.                                        PINDEXGETSTRUCT   pIndices,
  1633.                                        PFCALLBACK        pFCallBack,
  1634.                                        PFAFRESULT        pFR );
  1635. APIEXPORT ULONG  FAFENTRY  FafRedefineFolderAttrs(
  1636.                                        HFSESSION         hFSession,
  1637.                                        PFOLDERIDSTRUCT   pFolder,
  1638.                                        USHORT            usNumAttrs,
  1639.                                        PRDEFFOLDERATTRS  pAttrStruct,
  1640.                                        PTIMESTAMP        pTsTimeChgd,
  1641.                                        PFCALLBACK        pFCallBack,
  1642.                                        PFAFRESULT        pFR );
  1643. APIEXPORT ULONG  FAFENTRY  FafRedefineFolderIndices(
  1644.                                        HFSESSION         hFSession,
  1645.                                        PFOLDERIDSTRUCT   pFolder,
  1646.                                        USHORT            usNumIndices,
  1647.                                        PINDEXDEFSTRUCT   pIndexDefs,
  1648.                                        PTIMESTAMP        pTsTimeChgd,
  1649.                                        PFCALLBACK        pFCallBack,
  1650.                                        PFAFRESULT        pFR );
  1651.  
  1652. /*---------------------------------------------------------------------------*/
  1653. /*    IPFAF Workstation Client Folder Note Management APIs                   */
  1654. /*---------------------------------------------------------------------------*/
  1655. APIEXPORT ULONG  FAFENTRY  FafAddNote( HFSESSION         hFSession,
  1656.                                        PFOLDERIDSTRUCT   pFolder,
  1657.                                        PHBUF             pBuffer,
  1658.                                        ULONG             ulBytesCount,
  1659.                                        PSZ               pszDescription,
  1660.                                        PFCODEPAGE        CodePage,
  1661.                                        PFCALLBACK        pFCallBack,
  1662.                                        PFAFRESULT        pFR );
  1663. APIEXPORT ULONG  FAFENTRY  FafCountNotes(
  1664.                                        HFSESSION         hFSession,
  1665.                                        PFOLDERIDSTRUCT   pFolder,
  1666.                                        PFCALLBACK        pFCallBack,
  1667.                                        PFAFRESULT        pFR );
  1668. APIEXPORT ULONG  FAFENTRY  FafDeleteNotes(
  1669.                                        HFSESSION         hFSession,
  1670.                                        PFOLDERIDSTRUCT   pFolder,
  1671.                                        PTIMESTAMP        pTsCreate,
  1672.                                        PTIMESTAMP        pTsStart,
  1673.                                        PTIMESTAMP        ptsEnd,
  1674.                                        PFCALLBACK        pFCallBack,
  1675.                                        PFAFRESULT        pFR );
  1676. APIEXPORT ULONG  FAFENTRY  FafFindNotes(
  1677.                                        HFSESSION         hFSession,
  1678.                                        PFOLDERIDSTRUCT   pFolder,
  1679.                                        PTIMESTAMP        pTsStart,
  1680.                                        PTIMESTAMP        ptsEnd,
  1681.                                        PTIMESTAMP        pTsContinue,
  1682.                                        USHORT            usToBeRet,
  1683.                                        PFCALLBACK        pFCallBack,
  1684.                                        PFAFRESULT        pFR );
  1685. APIEXPORT ULONG  FAFENTRY  FafGetNoteContent(
  1686.                                        HFSESSION         hFSession,
  1687.                                        PFOLDERIDSTRUCT   pFolder,
  1688.                                        PTIMESTAMP        pTsCreate,
  1689.                                        PFCALLBACK        pFCallBack,
  1690.                                        PFAFRESULT        pFR );
  1691.  
  1692. /*---------------------------------------------------------------------------*/
  1693. /*    IPFAF Workstation Client Document Management APIs                      */
  1694. /*---------------------------------------------------------------------------*/
  1695. APIEXPORT ULONG  FAFENTRY  FafCopyDocument(
  1696.                                        HFSESSION         hFSession,
  1697.                                        PFOLDERIDSTRUCT   pDestFolder,
  1698.                                        PDOCIDSTRUCT      pDocID,
  1699.                                        PDOCTIMEID        pDocTimeID,
  1700.                                        PDOCWKSPARMS      pWksParms,
  1701.                                        DOCVERSION        DocVersion,
  1702.                                        PDOCATTRS         pDestAttrs,
  1703.                                        PDOCSTORAGE       pDocStorage,
  1704.                                        BOOL              fIgnBadResp,
  1705.                                        PDOCEVENT         pEvent,
  1706.                                        PEVENTCODE        pEventSource,
  1707.                                        PODMCOMPLETE      pBadODMResp,
  1708.                                        PODMCOMPLETE      pOkODMResp,
  1709.                                        PFCALLBACK        pFCallBack,
  1710.                                        PFAFRESULT        pFR );
  1711. APIEXPORT ULONG  FAFENTRY  FafCountDocuments(
  1712.                                        HFSESSION         hFSession,
  1713.                                        PFOLDERIDSTRUCT   pFolder,
  1714.                                        BOOL              fAllVersions,
  1715.                                        PFILETAB          pFileTab,
  1716.                                        PFAFDATE          pDsStartDate,
  1717.                                        PFAFDATE          pDsEndDate,
  1718.                                        PUSERSTATUS       pUserStatus,
  1719.                                        PFCALLBACK        pFCallBack,
  1720.                                        PFAFRESULT        pFR );
  1721. APIEXPORT ULONG  FAFENTRY  FafCountDocumentsAll(
  1722.                                        HFSESSION         hFSession,
  1723.                                        PFOLDERIDSTRUCT   pFolder,
  1724.                                        BOOL              fAllVersions,
  1725.                                        PFCALLBACK        pFCallBack,
  1726.                                        PFAFRESULT        pFR );
  1727. APIEXPORT ULONG  FAFENTRY  FafCountDocVersions(
  1728.                                        HFSESSION         hFSession,
  1729.                                        PDOCIDSTRUCT      pDocID,
  1730.                                        PFAFDATE          pDsRecvDate,
  1731.                                        PFCALLBACK        pFCallBack,
  1732.                                        PFAFRESULT        pFR );
  1733. APIEXPORT ULONG  FAFENTRY  FafDefineDocument(
  1734.                                        HFSESSION         hFSession,
  1735.                                        PFOLDERIDSTRUCT   pFolder,
  1736.                                        PSZ               pszCreateSite,
  1737.                                        PDOCSTORAGE       pDocStorage,
  1738.                                        USHORT            usDocClass,
  1739.                                        PDOCATTRS         pDocAttrs,
  1740.                                        BOOL              fIgnBadResp,
  1741.                                        BOOL              fKeepOriginal,
  1742.                                        PTEMPIDFORMAT     pTempidFmt,
  1743.                                        PDOCEVENT         pEvent,
  1744.                                        PODMCOMPLETE      pBadODMResp,
  1745.                                        PODMCOMPLETE      pOkODMResp,
  1746.                                        PFCALLBACK        pFCallBack,
  1747.                                        PFAFRESULT        pFR );
  1748. APIEXPORT ULONG  FAFENTRY  FafDefineStoredDoc(
  1749.                                        HFSESSION         hFSession,
  1750.                                        PFOLDERIDSTRUCT   pFolder,
  1751.                                        PSZ               pszOAMname,
  1752.                                        USHORT            usDocClass,
  1753.                                        PSZ               pszCollname,
  1754.                                        PSZ               pszStoreSite,
  1755.                                        PDOCATTRS         pDocAttrs,
  1756.                                        BOOL              fKeepOriginal,
  1757.                                        USHORT            usNumPages,
  1758.                                        PSZ               pszWkStatID,
  1759.                                        PDOCEVENT         pEvent,
  1760.                                        PFCALLBACK        pFCallBack,
  1761.                                        PFAFRESULT        pFR );
  1762. APIEXPORT ULONG  FAFENTRY  FafDeleteDocsByFolder(
  1763.                                        HFSESSION         hFSession,
  1764.                                        PFOLDERIDSTRUCT   pFolder,
  1765.                                        DLTECNTL          DlteCntl,
  1766.                                        PDOCEVENT         pEvent,
  1767.                                        PODMCOMPLETE      pBadODMResp,
  1768.                                        PFCALLBACK        pFCallBack,
  1769.                                        PFAFRESULT        pFR );
  1770. APIEXPORT ULONG  FAFENTRY  FafDeleteDocument(
  1771.                                        HFSESSION         hFSession,
  1772.                                        PDOCIDSTRUCT      pDocID,
  1773.                                        PDOCTIMEID        pDocTimeID,
  1774.                                        DLTEOPTN          DeleteOption,
  1775.                                        DOCVERSION        DocVersion,
  1776.                                        DLTECNTL          DlteCntl,
  1777.                                        PDOCEVENT         pEvent,
  1778.                                        PODMCOMPLETE      pBadODMResp,
  1779.                                        PFCALLBACK        pFCallBack,
  1780.                                        PFAFRESULT        pFR );
  1781. APIEXPORT ULONG  FAFENTRY  FafDisplayDocuments(
  1782.                                        HFSESSION         hFSession,
  1783.                                        PFOLDERIDSTRUCT   pFolder,
  1784.                                        USHORT            usNumDocs,
  1785.                                        PDOCDISPLAY       pDocsDisplay,
  1786.                                        PDOCWKSPARMS      pWksParms,
  1787.                                        BOOL              fClearWks,
  1788.                                        PODMCOMPLETE      pBadODMResp,
  1789.                                        PFCALLBACK        pFCallBack,
  1790.                                        PFAFRESULT        pFR );
  1791. APIEXPORT ULONG  FAFENTRY  FafExtractDocument(
  1792.                                        HFSESSION         hFSession,
  1793.                                        PDOCIDSTRUCT      pDocID,
  1794.                                        PDOCTIMEID        pDocTimeID,
  1795.                                        PPAGERANGE        pPageRange,
  1796.                                        USHORT            usNumPageRanges,
  1797.                                        PDOCWKSPARMS      pWksParms,
  1798.                                        PFOLDERIDSTRUCT   pDestFolder,
  1799.                                        DOCVERSION        DocVersion,
  1800.                                        PDOCATTRS         pDestAttrs,
  1801.                                        PDOCSTORAGE       pDocStorage,
  1802.                                        BOOL              fIgnBadResp,
  1803.                                        PDOCSTORAGE       pVersStgPrms,
  1804.                                        PDOCEVENT         pEvent,
  1805.                                        PEVENTCODE        pEventSource,
  1806.                                        PODMCOMPLETE      pBadODMResp,
  1807.                                        PODMCOMPLETE      pOkODMResp,
  1808.                                        PFCALLBACK        pFCallBack,
  1809.                                        PFAFRESULT        pFR );
  1810. APIEXPORT ULONG  FAFENTRY  FafFetchDocument(
  1811.                                        HFSESSION         hFSession,
  1812.                                        PDOCIDSTRUCT      pDocID,
  1813.                                        PDOCTIMEID        pDocTimeID,
  1814.                                        DOCVERSION        DocVersion,
  1815.                                        PODMCOMPLETE      pBadODMResp,
  1816.                                        PFCALLBACK        pFCallBack,
  1817.                                        PFAFRESULT        pFR );
  1818. APIEXPORT ULONG  FAFENTRY  FafFindDocuments(
  1819.                                        HFSESSION         hFSession,
  1820.                                        PFOLDERIDSTRUCT   pFolder,
  1821.                                        PFILETAB          pFileTab,
  1822.                                        PFAFDATE          pDsStartDate,
  1823.                                        PFAFDATE          pDsEndDate,
  1824.                                        PUSERSTATUS       pUserStatus,
  1825.                                        PDOCUMENTCURSOR   pDocCursor,
  1826.                                        USHORT            usToBeRet,
  1827.                                        PFCALLBACK        pFCallBack,
  1828.                                        PFAFRESULT        pFR );
  1829. APIEXPORT ULONG  FAFENTRY  FafFindDocumentsAll(
  1830.                                        HFSESSION         hFSession,
  1831.                                        PFOLDERIDSTRUCT   pFolder,
  1832.                                        PFAFDATE          pDsStartDate,
  1833.                                        PFAFDATE          pDsEndDate,
  1834.                                        PDOCUMENTCURSOR   pDocCursor,
  1835.                                        USHORT            usToBeRet,
  1836.                                        PFCALLBACK        pFCallBack,
  1837.                                        PFAFRESULT        pFR );
  1838. APIEXPORT ULONG  FAFENTRY  FafFindDocumentSingle(
  1839.                                        HFSESSION         hFSession,
  1840.                                        PDOCIDSTRUCT      pDocID,
  1841.                                        PFAFDATE          pDsRecvDate,
  1842.                                        DOCVERSION        DocVersion,
  1843.                                        PFCALLBACK        pFCallBack,
  1844.                                        PFAFRESULT        pFR );
  1845. APIEXPORT ULONG  FAFENTRY  FafFindDocVersions(
  1846.                                        HFSESSION         hFSession,
  1847.                                        PDOCIDSTRUCT      pDocID,
  1848.                                        PFAFDATE          pDsRecvDate,
  1849.                                        PDOCUMENTCURSOR   pDocCursor,
  1850.                                        USHORT            usToBeRet,
  1851.                                        PFCALLBACK        pFCallBack,
  1852.                                        PFAFRESULT        pFR );
  1853. APIEXPORT ULONG  FAFENTRY  FafMergeDocuments(
  1854.                                        HFSESSION         hFSession,
  1855.                                        PDOCIDSTRUCT      pDstDocID,
  1856.                                        PDOCTIMEID        pDstTimeID,
  1857.                                        PDOCIDSTRUCT      pSrcDocID,
  1858.                                        PDOCTIMEID        pSrcTimeID,
  1859.                                        PDOCWKSPARMS      pWksParms,
  1860.                                        DOCVERSION        DstVersion,
  1861.                                        DOCVERSION        SrcVersion,
  1862.                                        PDOCSTORAGE       pVersStgPrms,
  1863.                                        BOOL              fIgnBadResp,
  1864.                                        PDOCEVENT         pEvent,
  1865.                                        PEVENTCODE        pEventSource,
  1866.                                        PODMCOMPLETE      pBadODMResp,
  1867.                                        PODMCOMPLETE      pOkODMResp,
  1868.                                        PFCALLBACK        pFCallBack,
  1869.                                        PFAFRESULT        pFR );
  1870. APIEXPORT ULONG  FAFENTRY  FafModifyDocument(
  1871.                                        HFSESSION         hFSession,
  1872.                                        PDOCIDSTRUCT      pDocID,
  1873.                                        DOCVERSION        DocVersion,
  1874.                                        PDOCTIMEID        pDocTimeID,
  1875.                                        PPAGERANGE        pPageRange,
  1876.                                        USHORT            usNumPageRanges,
  1877.                                        PDOCWKSPARMS      pWksParms,
  1878.                                        PDOCSTORAGE       pVersStgPrms,
  1879.                                        PTEMPIDFORMAT     pTempidFmt,
  1880.                                        BOOL              fIgnBadResp,
  1881.                                        PDOCEVENT         pEvent,
  1882.                                        PODMCOMPLETE      pBadODMResp,
  1883.                                        PODMCOMPLETE      pOkODMResp,
  1884.                                        PFCALLBACK        pFCallBack,
  1885.                                        PFAFRESULT        pFR );
  1886. APIEXPORT ULONG  FAFENTRY  FafMoveDocument(
  1887.                                        HFSESSION         hFSession,
  1888.                                        PFOLDERIDSTRUCT   pDestFolder,
  1889.                                        PDOCIDSTRUCT      pDocID,
  1890.                                        PDOCTIMEID        pDocTimeID,
  1891.                                        PDOCATTRS         pDestAttrs,
  1892.                                        PDOCEVENT         pEvent,
  1893.                                        PFCALLBACK        pFCallBack,
  1894.                                        PFAFRESULT        pFR );
  1895. APIEXPORT ULONG  FAFENTRY  FafPrintDocument(
  1896.                                        HFSESSION         hFSession,
  1897.                                        PDOCIDSTRUCT      pDocID,
  1898.                                        PDOCTIMEID        pDocTimeID,
  1899.                                        PDOCPRNTPARMS     pPrntParms,
  1900.                                        PSZ               pszPrtDest,
  1901.                                        DOCVERSION        DocVersion,
  1902.                                        BOOL              fAltWksPrt,
  1903.                                        COPYTYPE          CopyType,
  1904.                                        PODMCOMPLETE      pBadODMResp,
  1905.                                        PFCALLBACK        pFCallBack,
  1906.                                        PFAFRESULT        pFR );
  1907. APIEXPORT ULONG  FAFENTRY  FafRedefineDocument(
  1908.                                        HFSESSION         hFSession,
  1909.                                        PDOCIDSTRUCT      pDocID,
  1910.                                        PDOCTIMEID        pDocTimeID,
  1911.                                        USHORT            usNumAttrs,
  1912.                                        PRDEFDOCATTRS     pAttrStruct,
  1913.                                        PDOCEVENT         pEvent,
  1914.                                        PFCALLBACK        pFCallBack,
  1915.                                        PFAFRESULT        pFR );
  1916. APIEXPORT ULONG  FAFENTRY  FafRedefineStorage(
  1917.                                        HFSESSION         hFSession,
  1918.                                        PDOCIDSTRUCT      pDocID,
  1919.                                        PDOCTIMEID        pDocTimeID,
  1920.                                        PSZ               pszMgmtClass,
  1921.                                        PSZ               pszStgClass,
  1922.                                        PRETPERIOD        pRetPeriod,
  1923.                                        PODMCOMPLETE      pBadODMResp,
  1924.                                        PFCALLBACK        pFCallBack,
  1925.                                        PFAFRESULT        pFR );
  1926. APIEXPORT ULONG  FAFENTRY  FafSendDocument(
  1927.                                        HFSESSION         hFSession,
  1928.                                        PDOCIDSTRUCT      pDocID,
  1929.                                        PDOCTIMEID        pDocTimeID,
  1930.                                        PSZ               pszDestination,
  1931.                                        DOCVERSION        DocVersion,
  1932.                                        PSZ               pszSendData,
  1933.                                        FORMOVERLAY       SendOverlay,
  1934.                                        COPYTYPE          CopyType,
  1935.                                        PODMCOMPLETE      pBadODMResp,
  1936.                                        PODMCOMPLETE      pOkODMResp,
  1937.                                        PFCALLBACK        pFCallBack,
  1938.                                        PFAFRESULT        pFR );
  1939.  
  1940. /*----------------------------------------------------------------------------*/
  1941. /*    IPFAF Workstation Client Document Management APIs (IODM Interface)      */
  1942. /*----------------------------------------------------------------------------*/
  1943. APIEXPORT ULONG  FAFENTRY  FafCreateFEAKey(
  1944.                                        HFSESSION         hFSession,
  1945.                                        PFOLDERTOKEN      pFolderToken,
  1946.                                        PDOCID            pDocID,
  1947.                                        USHORT            usDocVersion,
  1948.                                        PFEAKEY           pDocLockKey,
  1949.                                        PFCALLBACK        pFCallBack,
  1950.                                        PFAFRESULT        pFR );
  1951. APIEXPORT ULONG  FAFENTRY  FafGetDocument(
  1952.                                        HFSESSION         hFSession,
  1953.                                        PSZ               pszDocName,
  1954.                                        USHORT            usDocClass,
  1955.                                        PSZ               pszCollName,
  1956.                                        PSZ               pszStoreSite,
  1957.                                        COPYTYPE          CopyType,
  1958.                                        OBJCNTL           StrgLocOpts,
  1959.                                        ULONG             ulObjStart,
  1960.                                        ULONG             ulObjLength,
  1961.                                        PLOCCNTL          pRcvLocOpts,
  1962.                                        PFCALLBACK        pFCallBack,
  1963.                                        PFAFRESULT        pFR );
  1964. APIEXPORT ULONG  FAFENTRY  FafGetDocAndOverlays(
  1965.                                        HFSESSION         hFSession,
  1966.                                        PSZ               pszDocName,
  1967.                                        USHORT            usDocClass,
  1968.                                        PSZ               pszCollName,
  1969.                                        PSZ               pszStoreSite,
  1970.                                        COPYTYPE          CopyType,
  1971.                                        OBJCNTL           StrgLocOpts,
  1972.                                        PDOCOVERSTRG      pDocOverlays,
  1973.                                        PFCALLBACK        pFCallBack,
  1974.                                        PFAFRESULT        pFR );
  1975. APIEXPORT ULONG  FAFENTRY  FafGetDocumentSize(
  1976.                                        HFSESSION         hFSession,
  1977.                                        PSZ               pszDocName,
  1978.                                        USHORT            usDocClass,
  1979.                                        PSZ               pszCollName,
  1980.                                        PSZ               pszStoreSite,
  1981.                                        PULONG            pulObjLength,
  1982.                                        PFCALLBACK        pFCallBack,
  1983.                                        PFAFRESULT        pFR );
  1984. APIEXPORT ULONG  FAFENTRY  FafGetDefinedDocName(
  1985.                                        HFSESSION         hFSession,
  1986.                                        PTEMPID           pTempId,
  1987.                                        PDOCNAME          pDocName,
  1988.                                        PFCALLBACK        pFCallBack,
  1989.                                        PFAFRESULT        pFR );
  1990. APIEXPORT ULONG  FAFENTRY  FafLockDocAnnotation(
  1991.                                        HFSESSION         hFSession,
  1992.                                        USHORT            usDocClass,
  1993.                                        PSZ               pszDocName,
  1994.                                        PSZ               pszCollName,
  1995.                                        PSZ               pszStoreSite,
  1996.                                        PSZ               pszFafSite,
  1997.                                        DOCLOCKTYPE       LockType,
  1998.                                        PFEAKEY           pDocLockKey,
  1999.                                        PLOCCNTL          pLocOpts,
  2000.                                        PFCALLBACK        pFCallBack,
  2001.                                        PFAFRESULT        pFR );
  2002. APIEXPORT ULONG  FAFENTRY  FafStoreDefinedDoc(
  2003.                                        HFSESSION         hFSession,
  2004.                                        PLOCCNTL          pLocOpts,
  2005.                                        PLOCCNTL          pLowResOpts,
  2006.                                        USHORT            usDocClass,
  2007.                                        USHORT            usNumPages,
  2008.                                        PTEMPID           pTempId,
  2009.                                        PSZ               pszDocName,
  2010.                                        PSZ               pszScanId,
  2011.                                        PFCALLBACK        pFCallBack,
  2012.                                        PFAFRESULT        pFR );
  2013. APIEXPORT ULONG  FAFENTRY  FafStoreDocument(
  2014.                                        HFSESSION         hFSession,
  2015.                                        PLOCCNTL          pLocOpts,
  2016.                                        USHORT            usDocClass,
  2017.                                        PDOCSTORAGE       pDocStorage,
  2018.                                        PDOCNAME          pDocName,
  2019.                                        PDOCID            pDocId,
  2020.                                        PFCALLBACK        pFCallBack,
  2021.                                        PFAFRESULT        pFR );
  2022. APIEXPORT ULONG  FAFENTRY  FafUpdateDocAnnotation(
  2023.                                        HFSESSION         hFSession,
  2024.                                        BOOL              fKeepLock,
  2025.                                        ULONG             ulChangeType,
  2026.                                        USHORT            usDocClass,
  2027.                                        PSZ               pszDocName,
  2028.                                        PSZ               pszCollName,
  2029.                                        PSZ               pszStoreSite,
  2030.                                        PSZ               pszFafSite,
  2031.                                        PFEAKEY           pDocLockKey,
  2032.                                        PLOCCNTL          pLocOpts,
  2033.                                        PDOCOVERSTRG      pDocOverlays,
  2034.                                        PSZ               pszDescription,
  2035.                                        PFCALLBACK        pFCallBack,
  2036.                                        PFAFRESULT        pFR );
  2037. APIEXPORT ULONG  FAFENTRY  FafUpdateItemLock(
  2038.                                        HFSESSION         hFSession,
  2039.                                        PSZ               pszFafSite,
  2040.                                        DOCLOCKTYPE       LockType,
  2041.                                        PFEAKEY           pDocLockKey,
  2042.                                        PFCALLBACK        pFCallBack,
  2043.                                        PFAFRESULT        pFR );
  2044.  
  2045. /*---------------------------------------------------------------------------*/
  2046. /*    IPFAF Workstation Client Pending or Temporary Document Management APIs */
  2047. /*---------------------------------------------------------------------------*/
  2048. APIEXPORT ULONG  FAFENTRY  FafDeletePendDoc(
  2049.                                        HFSESSION         hFSession,
  2050.                                        PTEMPID           pTempID,
  2051.                                        PURGETID          PurgeOpts,
  2052.                                        TEMPTYPE          TempType,
  2053.                                        PFCALLBACK        pFCallBack,
  2054.                                        PFAFRESULT        pFR );
  2055. APIEXPORT ULONG  FAFENTRY  FafDeletePendDocs(
  2056.                                        HFSESSION         hFSession,
  2057.                                        PTSRANGE          pTsRange,
  2058.                                        PRETRYCNT         pRetryCnt,
  2059.                                        PURGETID          PurgeOpts,
  2060.                                        TEMPTYPE          TempType,
  2061.                                        PFCALLBACK        pFCallBack,
  2062.                                        PFAFRESULT        pFR );
  2063. APIEXPORT ULONG  FAFENTRY  FafDeletePendDocsByFolder(
  2064.                                        HFSESSION         hFSession,
  2065.                                        PFOLDERIDSTRUCT   pFolder,
  2066.                                        PTSRANGE          pTsRange,
  2067.                                        PRETRYCNT         pRetryCnt,
  2068.                                        PURGETID          PurgeOpts,
  2069.                                        TEMPTYPE          TempType,
  2070.                                        PFCALLBACK        pFCallBack,
  2071.                                        PFAFRESULT        pFR );
  2072. APIEXPORT ULONG  FAFENTRY  FafFindPendDocs(
  2073.                                        HFSESSION         hFSession,
  2074.                                        PTIMESTAMP        pStartDttm,
  2075.                                        PTIMESTAMP        pEndDttm,
  2076.                                        PTEMPCURSOR       pTempCursor,
  2077.                                        TEMPTYPE          TempType,
  2078.                                        USHORT            usToBeRet,
  2079.                                        PFCALLBACK        pFCallBack,
  2080.                                        PFAFRESULT        pFR );
  2081. APIEXPORT ULONG  FAFENTRY  FafFindPendDocSingle(
  2082.                                        HFSESSION         hFSession,
  2083.                                        PTEMPID           pTempID,
  2084.                                        TEMPTYPE          TempType,
  2085.                                        PFCALLBACK        pFCallBack,
  2086.                                        PFAFRESULT        pFR );
  2087. APIEXPORT ULONG  FAFENTRY  FafFindPendDocsByFolder(
  2088.                                        HFSESSION         hFSession,
  2089.                                        PFOLDERIDSTRUCT   pFolder,
  2090.                                        PTIMESTAMP        pStartDttm,
  2091.                                        PTIMESTAMP        pEndDttm,
  2092.                                        PTEMPCURSOR       pTempCursor,
  2093.                                        TEMPTYPE          TempType,
  2094.                                        USHORT            usToBeRet,
  2095.                                        PFCALLBACK        pFCallBack,
  2096.                                        PFAFRESULT        pFR );
  2097. APIEXPORT ULONG  FAFENTRY  FafFindPendDocsByResp(
  2098.                                        HFSESSION         hFSession,
  2099.                                        BOOL              fRespPend,
  2100.                                        PTIMESTAMP        pStartDttm,
  2101.                                        PTIMESTAMP        pEndDttm,
  2102.                                        PTEMPCURSOR       pTempCursor,
  2103.                                        TEMPTYPE          TempType,
  2104.                                        USHORT            usToBeRet,
  2105.                                        PFCALLBACK        pFCallBack,
  2106.                                        PFAFRESULT        pFR );
  2107. APIEXPORT ULONG  FAFENTRY  FafRetryPend(
  2108.                                        HFSESSION         hFSession,
  2109.                                        PTEMPID           pTempID,
  2110.                                        PSZ               pszODM,
  2111.                                        PTIMESTAMP        pTsODMTrans,
  2112.                                        BOOL              fRetryCntl,
  2113.                                        TEMPTYPE          TempType,
  2114.                                        PFCALLBACK        pFCallBack,
  2115.                                        PFAFRESULT        pFR );
  2116.  
  2117. /*---------------------------------------------------------------------------*/
  2118. /*    IPFAF Workstation Client Document Event Management APIs                */
  2119. /*---------------------------------------------------------------------------*/
  2120. APIEXPORT ULONG  FAFENTRY  FafAddEvent(
  2121.                                        HFSESSION         hFSession,
  2122.                                        PDOCIDSTRUCT      pDocID,
  2123.                                        PFAFDATE          pDsRecvDate,
  2124.                                        PEVENT            pEvent,
  2125.                                        PFCALLBACK        pFCallBack,
  2126.                                        PFAFRESULT        pFR );
  2127. APIEXPORT ULONG  FAFENTRY  FafDeleteEvent(
  2128.                                        HFSESSION         hFSession,
  2129.                                        PDOCID            pDocID,
  2130.                                        PTIMESTAMP        ptsStart,
  2131.                                        PTIMESTAMP        ptsEnd,
  2132.                                        PFCALLBACK        pFCallBack,
  2133.                                        PFAFRESULT        pFR );
  2134. APIEXPORT ULONG  FAFENTRY  FafGetEvents(
  2135.                                        HFSESSION         hFSession,
  2136.                                        PDOCID            pDocID,
  2137.                                        PTIMESTAMP        ptsStart,
  2138.                                        PTIMESTAMP        ptsEnd,
  2139.                                        PTIMESTAMP        ptsContinue,
  2140.                                        USHORT            usToBeRet,
  2141.                                        PFCALLBACK        pFCallBack,
  2142.                                        PFAFRESULT        pFR );
  2143.  
  2144. /*---------------------------------------------------------------------------*/
  2145. /*    IPFAF Workstation Client WorkFlow Management WorkQueue APIs            */
  2146. /*---------------------------------------------------------------------------*/
  2147. APIEXPORT ULONG  FAFENTRY  FafDefineWorkQueue(
  2148.                                        HFSESSION         hFSession,
  2149.                                        PWQID             pWqID,
  2150.                                        PSZ               pszDescription,
  2151.                                        PFCALLBACK        pFCallBack,
  2152.                                        PFAFRESULT        pFR );
  2153. APIEXPORT ULONG  FAFENTRY  FafDeleteWorkQueue(
  2154.                                        HFSESSION         hFSession,
  2155.                                        PWQID             pWqID,
  2156.                                        PFCALLBACK        pFCallBack,
  2157.                                        PFAFRESULT        pFR );
  2158. APIEXPORT ULONG  FAFENTRY  FafFindWorkQueues(
  2159.                                        HFSESSION         hFSession,
  2160.                                        PRUNIT            pRoutingUnit,
  2161.                                        PRCODE            pRcode,
  2162.                                        PRCODE            pStartRcode,
  2163.                                        PRCODE            pEndRcode,
  2164.                                        PWQID             pNextWqID,
  2165.                                        USHORT            usToBeRet,
  2166.                                        PFCALLBACK        pFCallBack,
  2167.                                        PFAFRESULT        pFR );
  2168. APIEXPORT ULONG  FAFENTRY  FafFindWorkQueueSingle(
  2169.                                        HFSESSION         hFSession,
  2170.                                        PWQID             pWqID,
  2171.                                        PFCALLBACK        pFCallBack,
  2172.                                        PFAFRESULT        pFR );
  2173. APIEXPORT ULONG  FAFENTRY  FafRedefineWorkQueue(
  2174.                                        HFSESSION         hFSession,
  2175.                                        PWQID             pWqID,
  2176.                                        PTIMESTAMP        pTsTimeChgd,
  2177.                                        PSZ               pszDescription,
  2178.                                        PFCALLBACK        pFCallBack,
  2179.                                        PFAFRESULT        pFR );
  2180.  
  2181. /*---------------------------------------------------------------------------*/
  2182. /*    IPFAF Workstation Client WorkFlow Management WorkQueue Assignment APIs */
  2183. /*---------------------------------------------------------------------------*/
  2184. APIEXPORT ULONG  FAFENTRY  FafDefineWqAsgn(
  2185.                                        HFSESSION         hFSession,
  2186.                                        PWQID             pWqID,
  2187.                                        PSZ               pszUserid,
  2188.                                        USHORT            usQueuePrty,
  2189.                                        BOOL              fAsgnStatus,
  2190.                                        PFCALLBACK        pFCallBack,
  2191.                                        PFAFRESULT        pFR );
  2192. APIEXPORT ULONG  FAFENTRY  FafDeleteWqAsgn(
  2193.                                        HFSESSION         hFSession,
  2194.                                        STATSRCH          AsgnStatus,
  2195.                                        PSZ               pszUserid,
  2196.                                        PRUNIT            pRoutingUnit,
  2197.                                        PRCODE            pRcode,
  2198.                                        PFCALLBACK        pFCallBack,
  2199.                                        PFAFRESULT        pFR );
  2200. APIEXPORT ULONG  FAFENTRY  FafFindWqAsgnsByUnit(
  2201.                                        HFSESSION         hFSession,
  2202.                                        PRUNIT            pRoutingUnit,
  2203.                                        PRCODE            pRcode,
  2204.                                        STATSRCH          AsgnStatus,
  2205.                                        PWORKASGNCURSOR   pWrkAsgnCrsr,
  2206.                                        USHORT            usToBeRet,
  2207.                                        PFCALLBACK        pFCallBack,
  2208.                                        PFAFRESULT        pFR );
  2209. APIEXPORT ULONG  FAFENTRY  FafFindWqAsgnsByUser(
  2210.                                        HFSESSION         hFSession,
  2211.                                        PSZ               pszUserid,
  2212.                                        PRUNIT            pRoutingUnit,
  2213.                                        STATSRCH          AsgnStatus,
  2214.                                        PWORKASGNCURSOR   pWrkAsgnCrsr,
  2215.                                        USHORT            usToBeRet,
  2216.                                        PFCALLBACK        pFCallBack,
  2217.                                        PFAFRESULT        pFR );
  2218. APIEXPORT ULONG  FAFENTRY  FafFindWqAsgnSingle(
  2219.                                        HFSESSION         hFSession,
  2220.                                        PSZ               pszUserid,
  2221.                                        PRUNIT            pRoutingUnit,
  2222.                                        PRCODE            pRcode,
  2223.                                        PFCALLBACK        pFCallBack,
  2224.                                        PFAFRESULT        pFR );
  2225. APIEXPORT ULONG  FAFENTRY  FafRedefineWqAsgn(
  2226.                                        HFSESSION         hFSession,
  2227.                                        PSZ               pszUserid,
  2228.                                        PRUNIT            pRoutingUnit,
  2229.                                        PRCODE            pRcode,
  2230.                                        USHORT            usQueuePrty,
  2231.                                        BOOL              fAsgnStatus,
  2232.                                        PFCALLBACK        pFCallBack,
  2233.                                        PFAFRESULT        pFR );
  2234.  
  2235. /*---------------------------------------------------------------------------*/
  2236. /*    IPFAF Workstation Client WorkFlow Management WorkItem APIs             */
  2237. /*---------------------------------------------------------------------------*/
  2238. APIEXPORT ULONG  FAFENTRY  FafAddWorkItem(
  2239.                                        HFSESSION         hFSession,
  2240.                                        PDOCIDSTRUCT      pDocID,
  2241.                                        PFAFDATE          pDsRecvDate,
  2242.                                        PWQID             pWqID,
  2243.                                        PWORKROUTING      pRouting,
  2244.                                        PWORKITEMPRIORITY pWiPriority,
  2245.                                        PWORKITEMINIT     pWitemInit,
  2246.                                        PDOCEVENT         pEvent,
  2247.                                        PFCALLBACK        pFCallBack,
  2248.                                        PFAFRESULT        pFR );
  2249. APIEXPORT ULONG  FAFENTRY  FafCheckOutWorkItem(
  2250.                                        HFSESSION         hFSession,
  2251.                                        PDOCIDSTRUCT      pDocID,
  2252.                                        PTIMESTAMP        pTsTimeChgd,
  2253.                                        PDOCEVENT         pEvent,
  2254.                                        PFCALLBACK        pFCallBack,
  2255.                                        PFAFRESULT        pFR );
  2256. APIEXPORT ULONG  FAFENTRY  FafCheckWorkByAsgnEmpl(
  2257.                                        HFSESSION         hFSession,
  2258.                                        PSZ               pszUserid,
  2259.                                        ASGNACT           AsgnActv,
  2260.                                        HOLDACT           HoldActv,
  2261.                                        PWIPRIORITY       pStartPrty,
  2262.                                        PWIPRIORITY       pEndPrty,
  2263.                                        PFCALLBACK        pFCallBack,
  2264.                                        PFAFRESULT        pFR );
  2265. APIEXPORT ULONG  FAFENTRY  FafCheckWorkByProcEmpl(
  2266.                                        HFSESSION         hFSession,
  2267.                                        PSZ               pszUserid,
  2268.                                        PROCACT           ProcessActv,
  2269.                                        PWIPRIORITY       pStartPrty,
  2270.                                        PWIPRIORITY       pEndPrty,
  2271.                                        PFCALLBACK        pFCallBack,
  2272.                                        PFAFRESULT        pFR );
  2273. APIEXPORT ULONG  FAFENTRY  FafCheckWqByAsgnEmpl(
  2274.                                        HFSESSION         hFSession,
  2275.                                        PWQID             pWqID,
  2276.                                        PSZ               pszUserid,
  2277.                                        HOLDACT           HoldActv,
  2278.                                        PWIPRIORITY       pStartPrty,
  2279.                                        PWIPRIORITY       pEndPrty,
  2280.                                        PFCALLBACK        pFCallBack,
  2281.                                        PFAFRESULT        pFR );
  2282. APIEXPORT ULONG  FAFENTRY  FafCheckWqByProcEmpl(
  2283.                                        HFSESSION         hFSession,
  2284.                                        PWQID             pWqID,
  2285.                                        PSZ               pszUserid,
  2286.                                        PWIPRIORITY       pStartPrty,
  2287.                                        PWIPRIORITY       pEndPrty,
  2288.                                        PFCALLBACK        pFCallBack,
  2289.                                        PFAFRESULT        pFR );
  2290. APIEXPORT ULONG  FAFENTRY  FafCountWorkByFolder(
  2291.                                        HFSESSION         hFSession,
  2292.                                        PFOLDERIDSTRUCT   pFolder,
  2293.                                        HOLDACT           HoldActv,
  2294.                                        PWIPRIORITY       pStartPrty,
  2295.                                        PWIPRIORITY       pEndPrty,
  2296.                                        PFCALLBACK        pFCallBack,
  2297.                                        PFAFRESULT        pFR );
  2298. APIEXPORT ULONG  FAFENTRY  FafCountWorkByWq(
  2299.                                        HFSESSION         hFSession,
  2300.                                        PWQID             pWqID,
  2301.                                        HOLDACT           HoldActv,
  2302.                                        PWIPRIORITY       pStartPrty,
  2303.                                        PWIPRIORITY       pEndPrty,
  2304.                                        PFCALLBACK        pFCallBack,
  2305.                                        PFAFRESULT        pFR );
  2306. APIEXPORT ULONG  FAFENTRY  FafDropWorkItem(
  2307.                                        HFSESSION         hFSession,
  2308.                                        PDOCIDSTRUCT      pDocID,
  2309.                                        PFAFDATE          pDsRecvDate,
  2310.                                        DLTEACT           DeleteAction,
  2311.                                        PFAFDATE          pDsFileDate,
  2312.                                        DROPACT           DropAction,
  2313.                                        PSZ               pszMgmtClass,
  2314.                                        PSZ               pszStgClass,
  2315.                                        PRETPERIOD        pRetPer,
  2316.                                        PDOCEVENT         pEvent,
  2317.                                        PODMCOMPLETE      pBadODMResp,
  2318.                                        PFCALLBACK        pFCallBack,
  2319.                                        PFAFRESULT        pFR );
  2320. APIEXPORT ULONG  FAFENTRY  FafFindWorkByAsgnEmpl(
  2321.                                        HFSESSION         hFSession,
  2322.                                        PSZ               pszUserid,
  2323.                                        HOLDACT           HoldActv,
  2324.                                        PWORKCURSOR       pFindWorkCrsr,
  2325.                                        USHORT            usToBeRet,
  2326.                                        PFCALLBACK        pFCallBack,
  2327.                                        PFAFRESULT        pFR );
  2328. APIEXPORT ULONG  FAFENTRY  FafFindWorkByDocument(
  2329.                                        HFSESSION         hFSession,
  2330.                                        PDOCIDSTRUCT      pDocID,
  2331.                                        PFCALLBACK        pFCallBack,
  2332.                                        PFAFRESULT        pFR );
  2333. APIEXPORT ULONG  FAFENTRY  FafFindWorkByFolder(
  2334.                                        HFSESSION         hFSession,
  2335.                                        PFOLDERIDSTRUCT   pFolder,
  2336.                                        ASGNACT           AsgnActv,
  2337.                                        HOLDACT           HoldActv,
  2338.                                        PROCACT           ProcessActv,
  2339.                                        PWORKCURSOR       pFindWorkCrsr,
  2340.                                        USHORT            usToBeRet,
  2341.                                        PFCALLBACK        pFCallBack,
  2342.                                        PFAFRESULT        pFR );
  2343. APIEXPORT ULONG  FAFENTRY  FafFindWorkByProcEmpl(
  2344.                                        HFSESSION         hFSession,
  2345.                                        PSZ               pszUserid,
  2346.                                        HOLDACT           HoldActv,
  2347.                                        PWORKCURSOR       pFindWorkCrsr,
  2348.                                        USHORT            usToBeRet,
  2349.                                        PFCALLBACK        pFCallBack,
  2350.                                        PFAFRESULT        pFR );
  2351. APIEXPORT ULONG  FAFENTRY  FafFindWorkByUnit(
  2352.                                        HFSESSION         hFSession,
  2353.                                        PRUNIT            pRoutingUnit,
  2354.                                        HOLDACT           HoldActv,
  2355.                                        PROCACT           ProcessActv,
  2356.                                        PRCODE            pStartRcode,
  2357.                                        PRCODE            pEndRcode,
  2358.                                        PFAFDATE          pDsStartDate,
  2359.                                        PFAFDATE          pDsEndDate,
  2360.                                        PWIPRIORITY       pStartPrty,
  2361.                                        PWIPRIORITY       pEndPrty,
  2362.                                        PWORKCURSOR       pFindWorkCrsr,
  2363.                                        USHORT            usToBeRet,
  2364.                                        PFCALLBACK        pFCallBack,
  2365.                                        PFAFRESULT        pFR );
  2366. APIEXPORT ULONG  FAFENTRY  FafGetRoutingInfo(
  2367.                                        HFSESSION         hFSession,
  2368.                                        PRLOB             pRlob,
  2369.                                        PSZ               pszTranType,
  2370.                                        PSZ               pszUserPrm1,
  2371.                                        PFCALLBACK        pFCallBack,
  2372.                                        PFAFRESULT        pFR );
  2373. APIEXPORT ULONG  FAFENTRY  FafGetRoutingUnit(
  2374.                                        HFSESSION         hFSession,
  2375.                                        PSZ               pszWorkCategory,
  2376.                                        PSZ               pszUserPrm1,
  2377.                                        ULONG             ulUserPrm2,
  2378.                                        PFCALLBACK        pFCallBack,
  2379.                                        PFAFRESULT        pFR );
  2380. APIEXPORT ULONG  FAFENTRY  FafGetWorkItems(
  2381.                                        HFSESSION         hFSession,
  2382.                                        PSZ               pszUserid,
  2383.                                        BOOL              fAsgnActv,
  2384.                                        BOOL              fProcActv,
  2385.                                        PGETWORKCURSOR    pGetWorkCrsr,
  2386.                                        USHORT            usToBeRet,
  2387.                                        PFCALLBACK        pFCallBack,
  2388.                                        PFAFRESULT        pFR );
  2389. APIEXPORT ULONG  FAFENTRY  FafRedefineWorkItem(
  2390.                                        HFSESSION         hFSession,
  2391.                                        PDOCIDSTRUCT      pDocID,
  2392.                                        PTIMESTAMP        pTsTimeChgd,
  2393.                                        USHORT            usNumAttrs,
  2394.                                        PRDEFWORKATTRS    pAttrStruct,
  2395.                                        PDOCEVENT         pEvent,
  2396.                                        PFCALLBACK        pFCallBack,
  2397.                                        PFAFRESULT        pFR );
  2398.  
  2399. /*---------------------------------------------------------------------------*/
  2400. /*                 Function  Prototypes  (Utility processes)                 */
  2401. /*---------------------------------------------------------------------------*/
  2402. ULONG   OpenLog( VOID );
  2403. ULONG   CloseLog( VOID );
  2404. APIEXPORT ULONG FAFENTRY StoreLog(
  2405.                ULONG            FR,            /* I Return code              */
  2406.                PSZ              pszProc,       /* I Calling procedure name   */
  2407.                PSZ              pszParams );   /* I Api parameters or descrip*/
  2408. APIEXPORT ULONG FAFENTRY WriteLog(
  2409.                PFAFRESULT       pFR,           /* I Return structure         */
  2410.                PSZ              pszProc,       /* I Calling procedure name   */
  2411.                PSZ              pszParams );   /* I Api parameters or descrip*/
  2412. ULONG   ReadINI( VOID );
  2413. ULONG   SearchINI(
  2414.                PSZ              pszSearchItem, /* I Name of cnfg variable    */
  2415.                PSZ              *ppszValue );  /* O Addr of pntr to INI info */
  2416.  
  2417. VOID    ProcessWait( VOID );
  2418. VOID    ProcessRelease( VOID );
  2419.  
  2420. /*---------------------------------------------------------------------------*/
  2421. /*    End the support for C++ compilers                                      */
  2422. /*---------------------------------------------------------------------------*/
  2423. #ifdef __cplusplus
  2424.    }
  2425. #endif
  2426.  
  2427. #endif
  2428.  
  2429.