home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 January / Chip_2001-01_cd1.bin / tema / interb / InterBase_WI-V6.0-server.exe / server / SDK / include / ibinstall.h < prev    next >
C/C++ Source or Header  |  2000-06-23  |  11KB  |  316 lines

  1. /***********************************************
  2. *
  3. *   MODULE: IBINSTALL.H
  4. *
  5. *   DESCRIPTION: INSTALL OSRI entry points
  6. *
  7. *   Copyright (c) InterBase Software Corporation, 1998, 1999
  8. *
  9. *****************************************************************/
  10.  
  11. #ifndef _IBINSTALL_H_
  12. #define _IBINSTALL_H_
  13.  
  14. /******************************************************************/
  15. /* Define type, export and other stuff based on c/c++ and Windows */
  16. /******************************************************************/
  17.  
  18. #ifndef ISC_EXPORT
  19.  
  20. #if (defined(_MSC_VER) && defined(WIN32)) || \
  21.     (defined(__BORLANDC__) && (defined(__WIN32__) || defined(__OS2__)))
  22. #define  ISC_FAR
  23. #define  ISC_EXPORT         __stdcall
  24. #define  ISC_EXPORT_VARARG  __cdecl
  25. #else                   /* Not Windows/NT */
  26. #if (defined(__IBMC__) && defined(__OS2__))
  27. #define  ISC_FAR
  28. #define  ISC_EXPORT         System
  29. #define  ISC_EXPORT_VARARG  ISC_EXPORT
  30. #else                   /* not IBM C Set++ for OS/2 */
  31. #if ( defined( _Windows) || defined( _WINDOWS))
  32. #define  ISC_FAR        __far
  33. #define  ISC_EXPORT     ISC_FAR __cdecl __loadds __export
  34. #define  ISC_EXPORT_VARARG  ISC_EXPORT
  35. #else                   /* Not Windows/NT, OS/2 or Windows */
  36. #define  ISC_FAR
  37. #define  ISC_EXPORT
  38. #define  ISC_EXPORT_VARARG
  39. #endif                  /* Windows and Not Windows/NT or OS/2 */
  40. #endif                  /* IBM C Set++ for OS/2 */
  41. #endif                  /* Windows/NT */
  42.  
  43. #endif /* ISC_EXPORT */
  44.  
  45. typedef void*           OPTIONS_HANDLE;
  46.  
  47. typedef long            MSG_NO;
  48.  
  49. typedef unsigned long   OPT;
  50.  
  51. #ifdef TEXT
  52. #undef TEXT
  53. #endif
  54.  
  55. typedef char    TEXT;
  56.  
  57.  
  58. /**********************************************************************************************
  59.  * Name: FP_ERROR
  60.  *
  61.  * Description: This is a user defined callback function to be invoked by
  62.  *              Install API functions
  63.  *
  64.  ************************************************************************************************/
  65.  
  66. typedef int  (ISC_EXPORT *FP_ERROR)(MSG_NO, void*, const TEXT*);
  67.  
  68. /* *********************************************************
  69.  * These are the values the FP_ERROR routine can return.
  70.  * FP_STATUS also must return one of these except fp_retry
  71.  ***********************************************************/
  72.  
  73. #define isc_install_fp_retry    -1
  74. #define isc_install_fp_continue  0
  75. #define isc_install_fp_abort     1
  76.  
  77.  
  78. /* *********************************************************
  79.  * Info types for isc_install_get_info
  80.  * 
  81.  ***********************************************************/
  82.  
  83. #define  isc_install_info_destination   1
  84. #define  isc_install_info_opspace       2
  85. #define  isc_install_info_opname        3
  86. #define  isc_install_info_opdescription 4
  87.  
  88.  
  89. #ifdef WIN32
  90. #ifndef ISC_INSTALL_MAX_PATH
  91. #define ISC_INSTALL_MAX_PATH        MAX_PATH
  92. #endif
  93. #endif
  94.  
  95. /***********************************************************
  96.  * Name: I S C _ I N S T A L L _ M A X _ M E S S A G E _ L E N
  97.  *
  98.  * Description: This is a maximum error message length
  99.  ***********************************************************/
  100.  
  101. #define ISC_INSTALL_MAX_MESSAGE_LEN 300
  102.  
  103. /***********************************************************
  104.  * Name: I S C _ I N S T A L L _ M A X _ M E S S A G E S
  105.  *
  106.  * Description: This is a maximum anumber of messages
  107.  ***********************************************************/
  108.  
  109. #define ISC_INSTALL_MAX_MESSAGES    200
  110.  
  111. /**********************************************************************************************
  112.  * Name: FP_STATUS
  113.  *
  114.  * Description: This is a user defined callback function to be invoked by
  115.  *              Install API functions
  116.  *
  117.  ************************************************************************************************/
  118.  
  119. typedef int (ISC_EXPORT *FP_STATUS)(int, void*, const TEXT*);
  120.  
  121. /*
  122.  *  Basic Components used to install InterBase
  123.  */
  124.  
  125. #define INTERBASE               1000
  126. #define IB_SERVER               1001
  127. #define IB_CLIENT               1002
  128.  
  129. #define IB_CMD_TOOLS            1003
  130. #define IB_CMD_TOOLS_DB_MGMT    1004
  131. #define IB_CMD_TOOLS_USR_MGMT   1005
  132. #define IB_CMD_TOOLS_DB_QUERY   1006
  133.  
  134. #define IB_GUI_TOOLS            1007
  135. #define IB_DOC                  1011
  136.  
  137. #define IB_EXAMPLES             1012
  138. #define IB_EXAMPLE_API          1013
  139. #define IB_EXAMPLE_DB           1014
  140. #define IB_DEV                  1015
  141.  
  142. #define IB_REPLICATION          1016
  143. #define IB_REPL_MANAGER         1017
  144. #define IB_REPL_SERVER          1018
  145.  
  146.  
  147. #define IB_CONNECTIVITY         1101
  148. #define IB_ODBC_CLIENT          1102
  149. #define IB_OLEDB_CLIENT         1104
  150.  
  151. #define IB_JDBC                 1110
  152. #define IB_JDBC_CLIENT          1103
  153. #define IB_JDBC_SERVER          1105
  154.  
  155. /*
  156.  *  Error codes.<M-F4>
  157.  */
  158.  
  159. /* Warnings */
  160.  
  161. #define isc_install_optlist_empty            -1
  162. #define isc_install_actlist_empty            -2
  163. #define isc_install_fp_copy_delayed         -3
  164. #define isc_install_fp_delete_delayed       -4
  165. #define isc_install_option_not_found        -5
  166. #define isc_install_msg_version             -6
  167. #define isc_install_cant_load_msg           -7
  168. #define isc_install_invalid_msg             -8
  169. #define isc_install_invalid_tbl             -9
  170. #define isc_install_cant_create_msg         -10
  171. #define isc_install_handle_not_allocated    -11
  172. #define isc_install_odbc_comp_notfound      -12
  173. #define isc_install_cant_delete             -13
  174. #define isc_install_cant_rmdir              -14
  175. #define isc_install_key_nonempty            -15
  176.  
  177. #define isc_install_success                  0
  178.  
  179. /* File and directory related errors */
  180.  
  181. #define isc_install_path_not_valid           1
  182. #define isc_install_path_not_exists          2
  183. #define isc_install_cant_write               3
  184. #define isc_install_type_unknown             4
  185. #define isc_install_cant_move_file           5
  186. #define isc_install_device_not_valid         6
  187. #define isc_install_data_truncated           7
  188. #define isc_install_cant_get_temp            8
  189. #define isc_install_no_file                  9
  190. #define isc_install_cant_load_lib            10
  191. #define isc_install_cant_lookup_lib          11
  192. #define isc_install_file_exists              12
  193. #define isc_install_cant_open_log            13
  194. #define isc_install_write_error              14
  195. #define isc_install_read_error               15
  196. #define isc_install_invalid_log              16
  197. #define isc_install_cant_read                17
  198. #define isc_install_no_diskspace             18
  199. #define isc_install_cant_create_dir          19
  200. #define isc_install_msg_syntax               20
  201. #define isc_install_fp_delete_error          21
  202. #define isc_install_fp_rename_error          22
  203. #define isc_install_fp_copy_error            23
  204.  
  205. /* Precheck related errors */
  206.  
  207. #define isc_install_system_not_supported     24
  208. #define isc_install_server_running           25
  209. #define isc_install_classic_found            26
  210. #define isc_install_no_privileges            27
  211. #define isc_install_cant_get_free_space      28
  212. #define isc_install_guardian_running         29
  213. #define isc_install_invalid_option           30
  214. #define isc_install_invalid_handle           31
  215. #define isc_install_message_not_found        32
  216.  
  217. /* TCP/IP services related */
  218.  
  219. #define isc_install_no_stack                 33
  220. #define isc_install_cant_add_service         34
  221. #define isc_install_invalid_port             35
  222. #define isc_install_invalid_service          36
  223. #define isc_install_no_proto                 37
  224. #define isc_install_no_services_entry        38
  225. #define isc_install_sock_error               39
  226. #define isc_install_conversion_error         40
  227.  
  228.  
  229. /* Operations errors */
  230.  
  231. #define isc_install_cant_copy                 41
  232. #define isc_install_no_mem                    42
  233. #define isc_install_queue_failed              43
  234. #define isc_install_invalid_param             44
  235. #define isc_install_fp_error_exception        45
  236. #define isc_install_fp_status_exception       46
  237. #define isc_install_user_aborted              47
  238.  
  239. /* Registry related errors */
  240.  
  241. #define isc_install_key_exists                48
  242. #define isc_install_cant_create_key           49
  243. #define isc_install_cant_set_value            50
  244. #define isc_install_cant_open_key             51
  245. #define isc_install_cant_delete_key           52
  246. #define isc_install_cant_query_key            53
  247. #define isc_install_cant_delete_value         54
  248.  
  249. /* OS services related errors */
  250.  
  251. #define isc_install_service_existed           55
  252. #define isc_install_cant_create_service       56
  253. #define isc_install_cant_open_service         57
  254. #define isc_install_cant_query_service        58
  255. #define isc_install_service_running           59
  256. #define isc_install_cant_delete_service       60
  257. #define isc_install_cant_open_manager         61
  258. #define isc_install_system_error              62
  259. #define isc_install_com_regfail               63
  260. #define isc_install_dcom_required             64
  261.  
  262. /* ODBC installation errors */
  263.  
  264. #define isc_install_odbc_general              65
  265. #define isc_install_core_version              66
  266. #define isc_install_drv_version               67
  267. #define isc_install_tran_version              68
  268.  
  269.  
  270. /* InterBase Install API entry points */
  271.  
  272. #ifdef __cplusplus
  273. extern "C" {
  274. #endif
  275. MSG_NO  ISC_EXPORT isc_install_clear_options(OPTIONS_HANDLE*);
  276.  
  277. MSG_NO  ISC_EXPORT isc_install_execute(OPTIONS_HANDLE,
  278.                                        TEXT*,
  279.                                        TEXT*,
  280.                                        FP_STATUS,
  281.                                        void*,
  282.                                        FP_ERROR,
  283.                                        void*,
  284.                                        TEXT*);
  285.  
  286. MSG_NO  ISC_EXPORT isc_install_get_info(int, OPT, void*, unsigned);
  287.  
  288. MSG_NO  ISC_EXPORT isc_install_get_message(OPTIONS_HANDLE,
  289.                                            MSG_NO,
  290.                                            void*,
  291.                                            unsigned);
  292.  
  293. MSG_NO ISC_EXPORT isc_install_load_external_text(TEXT*);
  294.  
  295. MSG_NO  ISC_EXPORT isc_install_precheck(OPTIONS_HANDLE,
  296.                                         TEXT*,
  297.                                         TEXT*);
  298.  
  299. MSG_NO  ISC_EXPORT  isc_install_set_option(OPTIONS_HANDLE*,
  300.                                            OPT);
  301.  
  302. MSG_NO  ISC_EXPORT isc_uninstall_execute(TEXT*,
  303.                                          FP_STATUS,
  304.                                          void*,
  305.                                          FP_ERROR,
  306.                                          void*);
  307.  
  308. MSG_NO  ISC_EXPORT isc_uninstall_precheck(TEXT*);
  309.  
  310. MSG_NO  ISC_EXPORT isc_install_unset_option(OPTIONS_HANDLE*,
  311.                                             OPT);
  312. #ifdef __cplusplus
  313. }
  314. #endif
  315.  
  316. #endif /* _IBINSTALL_H_ */