00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00095 #ifndef DK_APP_INCLUDED
00096 #define DK_APP_INCLUDED 1
00097
00098 #include <dk.h>
00099 #include <dktypes.h>
00100
00101 #if defined(EXTERN)
00102 #undef EXTERN
00103 #endif
00104
00105 #ifndef DK_APP_C
00106 #if !DK_HAVE_PROTOTYPES
00107 #define EXTERN extern
00108 #else
00109 #define EXTERN
00110 #endif
00111 #else
00112 #define EXTERN
00113 #endif
00114
00115 #if defined(__cplusplus)
00116 extern "C" {
00117 #endif
00118
00119
00120
00134 EXTERN
00135 dk_app_t *dkapp_open_ext1 DK_PR((\
00136 int c, char *v[], char *g, char *e, int s, int n));
00137
00138
00139
00147 EXTERN int
00148 dkapp_silence_check DK_PR((int argc, char **argv));
00149
00150
00151
00157 EXTERN
00158 dk_app_t *dkapp_open DK_PR((int c, char *v[]));
00159
00160
00161
00171 EXTERN int
00172 dkapp_set_groupname DK_PR((dk_app_t *a, char *n));
00173
00174
00175
00185 EXTERN void
00186 dkapp_set_silent DK_PR((dk_app_t *a, int f));
00187
00188
00189
00199 EXTERN void
00200 dkapp_set_nostdio DK_PR((dk_app_t *a, int f));
00201
00202
00203
00207 EXTERN
00208 void dkapp_close DK_PR((dk_app_t *a));
00209
00210
00211
00218 EXTERN char *
00219 dkapp_get_appname DK_PR((dk_app_t *a));
00220
00221
00222
00227 EXTERN int
00228 dkapp_get_argc DK_PR((dk_app_t *a));
00229
00230
00231
00236 EXTERN char **
00237 dkapp_get_argv DK_PR((dk_app_t *a));
00238
00239
00240
00250 EXTERN
00251 int
00252 dkapp_get_pref DK_PR((dk_app_t *a, char *k, char *b, size_t l, int x));
00253
00254
00255
00270 EXTERN
00271 int
00272 dkapp_get_pref_env DK_PR((\
00273 dk_app_t *a, char *k, char *b, size_t l, int x, char *e));
00274
00275
00276
00288 EXTERN
00289 int dkapp_set_pref DK_PR((dk_app_t *a, char *k, char *v));
00290
00291
00292
00301 EXTERN int
00302 dkapp_get_bool_pref DK_PR((dk_app_t *a, char *k));
00303
00304
00305
00312 EXTERN unsigned long
00313 dkapp_get_ul_pref DK_PR((dk_app_t *a, char *k));
00314
00315
00316
00326 EXTERN char *
00327 dkapp_get_str_pref DK_PR((dk_app_t *a, char *k));
00328
00329
00330
00337 EXTERN void
00338 dkapp_unconfigure DK_PR((dk_app_t *a));
00339
00340
00341
00352 EXTERN
00353 int
00354 dkapp_transform_string DK_PR((dk_app_t *a,char *d,size_t l,char *s));
00355
00356
00357
00370 EXTERN
00371 int
00372 dkapp_transform_string_ext1 DK_PR((dk_app_t *a,char *d,size_t l,char *s,int f));
00373
00374
00375
00384 EXTERN int
00385 dkapp_tmpnam DK_PR((dk_app_t *a, char *b, size_t s));
00386
00387
00388
00397 EXTERN
00398 int dkapp_log_msg DK_PR((dk_app_t *a, int p, char **m, int n));
00399
00400
00401
00415 EXTERN void
00416 dkapp_set_source_filename DK_PR((dk_app_t *a, char *n));
00417
00418
00419
00426 EXTERN void
00427 dkapp_set_source_lineno DK_PR((dk_app_t *a, unsigned long l));
00428
00429
00430
00436 EXTERN char *
00437 dkapp_get_source_filename DK_PR((dk_app_t *a));
00438
00439
00440
00445 EXTERN unsigned long
00446 dkapp_get_source_lineno DK_PR((dk_app_t *a));
00447
00448
00449
00455 EXTERN
00456 int dkapp_llmax_get DK_PR((dk_app_t *a));
00457
00458
00459
00467 EXTERN int
00468 dkapp_get_min_loglevel DK_PR((dk_app_t *a));
00469
00470
00471
00477 EXTERN int
00478 dkapp_ide_type DK_PR((char *s));
00479
00480
00481
00493 EXTERN void
00494 dkapp_set_keep_temp DK_PR((dk_app_t *a, int p));
00495
00496
00497
00506 EXTERN
00507 void dkapp_llmax_set DK_PR((dk_app_t *a, int p));
00508
00509
00510
00518 EXTERN int
00519 dkapp_log_level_in_use DK_PR((dk_app_t *a, int p));
00520
00521
00522
00536 EXTERN
00537 int
00538 dkapp_find_file DK_PR((dk_app_t *a, char *n, char *b, size_t s));
00539
00540
00541
00554 EXTERN
00555 int
00556 dkapp_find_cfg DK_PR((dk_app_t *a, char *n, char *b, size_t s));
00557
00558
00559
00573 EXTERN char *
00574 dkapp_find_file_dup DK_PR((dk_app_t *a, char *n));
00575
00576
00577
00591 EXTERN char *
00592 dkapp_find_cfg_dup DK_PR((dk_app_t *a, char *n));
00593
00594
00602 EXTERN dk_stream_t *
00603 dkapp_read_file_ext1 DK_PR((dk_app_t *a, char *n, int *t));
00604
00605
00612 EXTERN dk_stream_t *
00613 dkapp_read_file DK_PR((dk_app_t *a, char *n));
00614
00615
00627 EXTERN dk_stream_t *
00628 dkapp_read_cfg DK_PR((dk_app_t *a, char *n));
00629
00630
00631
00641 EXTERN dk_stream_t *
00642 dkapp_write_file DK_PR((dk_app_t *a, char *n));
00643
00644
00645
00659 EXTERN
00660 char *
00661 dkapp_find_string DK_PR((dk_app_t *a, char *t, char *k, char *d));
00662
00663
00664
00673 EXTERN void
00674 dkapp_find_multi DK_PR((dk_app_t *a, dk_string_finder_t *f, char *t));
00675
00676
00677
00690 EXTERN void
00691 dkapp_init_key_value DK_PR((\
00692 dk_app_t *a,dk_key_value_t *k,size_t s,char *n, char **b));
00693
00694
00695
00707 EXTERN char **
00708 dkapp_find_key_value DK_PR((dk_app_t *a,dk_key_value_t *k,size_t s,char *n));
00709
00710
00711
00722 EXTERN void
00723 dkapp_help DK_PR((dk_app_t *a, char *n, char **d));
00724
00725
00726
00736 EXTERN dk_stream_t *
00737 dkapp_stream_openfile DK_PR((dk_app_t *a, char *n, char *m));
00738
00739
00740
00750 EXTERN dk_stream_t *
00751 dkapp_stream_opengz DK_PR((dk_app_t *a, char *n, char *m));
00752
00753
00754
00764 EXTERN dk_stream_t *
00765 dkapp_stream_openbz2 DK_PR((dk_app_t *a, char *n, char *m));
00766
00767
00768
00776 EXTERN FILE *
00777 dkapp_fopen DK_PR((dk_app_t *a, char *n, char *m));
00778
00779
00780
00790 EXTERN int
00791 dkapp_get_relaxed_fopen_check DK_PR((dk_app_t *a));
00792
00793
00794
00799 EXTERN unsigned char *
00800 dkapp_get_stdout_codepage DK_PR((dk_app_t *a));
00801
00802
00803
00815 EXTERN char *
00816 dkapp_fne_one DK_PR((dk_app_t *a, dk_fne_t *f, char *p));
00817
00818
00819
00825 EXTERN void
00826 dkapp_stdout DK_PR((dk_app_t *a, char *s));
00827
00828
00829
00835 EXTERN void
00836 dkapp_stderr DK_PR((dk_app_t *a, char *s));
00837
00838
00839
00845 EXTERN void
00846 dkapp_fputs DK_PR((dk_app_t *a, char *s, FILE *f));
00847
00848
00849
00856 EXTERN size_t
00857 dkapp_prlen DK_PR((dk_app_t *a, char *s));
00858
00859
00860
00864 EXTERN void
00865 dkapp_info_no_openssl_support DK_PR((dk_app_t *a));
00866
00867
00868
00873 EXTERN void
00874 dkapp_err_traverse_dir DK_PR((dk_app_t *a, char *n));
00875
00876
00877
00882 EXTERN void
00883 dkapp_err_stat_failed DK_PR((dk_app_t *a, char *n));
00884
00885
00886
00890 EXTERN void
00891 dkapp_err_cwd DK_PR((dk_app_t *a));
00892
00893
00894
00900 EXTERN void
00901 dkapp_err_memory DK_PR((dk_app_t *a, size_t e, size_t n));
00902
00903
00904
00909 EXTERN void
00910 dkapp_err_matchfile DK_PR((dk_app_t *a, char *n));
00911
00912
00913
00918 EXTERN void
00919 dkapp_err_matchdir DK_PR((dk_app_t *a, char *n));
00920
00921
00922
00927 EXTERN void
00928 dkapp_err_fopenr DK_PR((dk_app_t *a, char *n));
00929
00930
00931
00936 EXTERN void
00937 dkapp_err_fopenw DK_PR((dk_app_t *a, char *n));
00938
00939
00940
00945 EXTERN void
00946 dkapp_err_fwrite DK_PR((dk_app_t *a, char *n));
00947
00948
00949
00954 EXTERN void
00955 dkapp_err_fread DK_PR((dk_app_t *a, char *n));
00956
00957
00958
00965 EXTERN void
00966 dkapp_err_nowrite DK_PR((dk_app_t *a, char *n, int r));
00967
00968
00969
00973 EXTERN void
00974 dkapp_err_tcpip DK_PR((dk_app_t *a));
00975
00976
00977
00982 EXTERN void
00983 dkapp_err_no_such_file DK_PR((dk_app_t *a, char *n));
00984
00985
00986
00991 EXTERN void
00992 dkapp_err_multiple_files DK_PR((dk_app_t *a, char *p));
00993
00994
00995
01000 EXTERN void
01001 dkapp_err_not_a_regular_file DK_PR((dk_app_t *a, char *n));
01002
01003
01004
01009 EXTERN void
01010 dkapp_info_file_does_not_exist DK_PR((dk_app_t *a, char *n));
01011
01012
01013
01018 EXTERN void
01019 dkapp_err_invalid_permissions DK_PR((dk_app_t *a, char *n));
01020
01021
01022
01027 EXTERN void
01028 dkapp_err_invalid_owner DK_PR((dk_app_t *a, char *n));
01029
01030
01031
01036 EXTERN void
01037 dkapp_err_not_a_device DK_PR((dk_app_t *a, char *n));
01038
01039
01040
01045 EXTERN void
01046 dkapp_err_no_zlib_support_for DK_PR((dk_app_t *a, char *n));
01047
01048
01049
01054 EXTERN void
01055 dkapp_err_no_bzlib_support_for DK_PR((dk_app_t *a, char *n));
01056
01057 #if defined(__cplusplus)
01058 }
01059 #endif
01060
01061
01062 #if defined(EXTERN)
01063 #undef EXTERN
01064 #endif
01065 #ifndef DKAPPR_C
01066 #if !DK_HAVE_PROTOTYPES
01067 #define EXTERN extern
01068 #else
01069 #define EXTERN
01070 #endif
01071 #else
01072 #define EXTERN
01073 #endif
01074
01075 #if defined(__cplusplus)
01076 extern "C" {
01077 #endif
01078
01079
01080
01088 EXTERN int
01089 dkapp_rand_types_from_string DK_PR((dk_app_t *a, char *s));
01090
01091
01092
01100 EXTERN int
01101 dkapp_rand_begin DK_PR((dk_app_t *a, int r));
01102
01103
01104
01111 EXTERN size_t
01112 dkapp_rand_bytes DK_PR((dk_app_t *a, void *b, size_t s));
01113
01114
01115
01122 EXTERN size_t
01123 dkapp_rand_bytes_non_crypto DK_PR((dk_app_t *a, void *b, size_t s));
01124
01125
01126
01131 EXTERN int
01132 dkapp_rand_end DK_PR((dk_app_t *a));
01133
01134 #if DKAPPR_C
01135
01141 EXTERN void
01142 dkapp_stderr_msg_need_random_input DK_PR((dk_app_t *a));
01143
01147 EXTERN void
01148 dkapp_stderr_msg_need_more_random_input DK_PR((dk_app_t *a));
01149
01153 EXTERN void
01154 dkapp_stderr_msg_echo_not_off DK_PR((dk_app_t *a));
01155
01160 EXTERN void
01161 dkapp_err_not_a_regular_file DK_PR((dk_app_t *a, char *fn));
01162
01167 EXTERN void
01168 dkapp_err_invalid_permissions DK_PR((dk_app_t *a, char *fn));
01169
01174 EXTERN void
01175 dkapp_err_invalid_owner DK_PR((dk_app_t *a, char *fn));
01176
01181 EXTERN void
01182 dkapp_err_not_a_device DK_PR((dk_app_t *a, char *fn));
01183
01187 EXTERN void
01188 dkapp_debug_attempt_seed_openssl DK_PR((dk_app_t *a));
01189
01193 EXTERN void
01194 dkapp_debug_attempt_seed_random DK_PR((dk_app_t *a));
01195
01199 EXTERN void
01200 dkapp_debug_attempt_seed_rand48 DK_PR((dk_app_t *a));
01201
01205 EXTERN void
01206 dkapp_debug_attempt_seed_rand DK_PR((dk_app_t *a));
01207
01211 EXTERN void
01212 dkapp_debug_failed_seed_openssl DK_PR((dk_app_t *a));
01213
01217 EXTERN void
01218 dkapp_debug_failed_seed_random DK_PR((dk_app_t *a));
01219
01223 EXTERN void
01224 dkapp_debug_failed_seed_rand48 DK_PR((dk_app_t *a));
01225
01229 EXTERN void
01230 dkapp_debug_failed_seed_rand DK_PR((dk_app_t *a));
01231
01235 EXTERN void
01236 dkapp_debug_unavailable_openssl DK_PR((dk_app_t *a));
01237
01241 EXTERN void
01242 dkapp_debug_unavailable_random DK_PR((dk_app_t *a));
01243
01247 EXTERN void
01248 dkapp_debug_unavailable_rand48 DK_PR((dk_app_t *a));
01249
01253 EXTERN void
01254 dkapp_debug_unavailable_rand DK_PR((dk_app_t *a));
01255
01260 EXTERN void
01261 dkapp_debug_attempt_seed_file DK_PR((dk_app_t *a, char *fn));
01262
01268 EXTERN void
01269 dkapp_debug_attempt_seed_egd DK_PR((dk_app_t *a, char *fn));
01270
01275 EXTERN void
01276 dkapp_debug_attempt_seed_device DK_PR((dk_app_t *a, char *fn));
01277
01281 EXTERN void
01282 dkapp_debug_attempt_seed_screen DK_PR((dk_app_t *a));
01283
01287 EXTERN void
01288 dkapp_debug_attempt_seed_kbd DK_PR((dk_app_t *a));
01289
01293 EXTERN void
01294 dkapp_debug_prng_seeded_successfully DK_PR((dk_app_t *a));
01295
01299 EXTERN void
01300 dkapp_warn_prng_not_crypto DK_PR((dk_app_t *a));
01301
01305 EXTERN void
01306 dkapp_err_no_prng_found DK_PR((dk_app_t *a));
01307
01312 EXTERN void
01313 dkapp_warn_unknown_prng DK_PR((dk_app_t *a, char *prng));
01314
01315 #endif
01316
01317
01318 #if defined(__cplusplus)
01319 };
01320 #endif
01321
01322
01324 #define DK_APP_PREF_EXCL_CMD 1
01325
01327 #define DK_APP_PREF_EXCL_PROG 2
01328
01330 #define DK_APP_PREF_EXCL_USER 4
01331
01333 #define DK_APP_PREF_EXCL_SYSTEM 8
01334
01336 #define DK_APP_IDE_NONE 0
01337
01339 #define DK_APP_IDE_GCC 1
01340
01342 #define DK_APP_IDE_MSVC 2
01343
01345 #define DK_APP_IDE_WORKSHOP 3
01346
01348 #define DK_APP_IDE_TASM 4
01349
01351 #define DK_APP_PNC_LANGUAGE 2
01352
01354 #define DK_APP_PNC_REGION 1
01355
01357 #define DK_APP_PNC_ENCODING 4
01358
01360 #define DK_APP_LOG_NO_STDOUT 1
01361
01363 #define DK_APP_LOG_NO_STDERR 2
01364
01366 #define DK_APP_LOG_NO_STDIO (DK_APP_LOG_NO_STDOUT | DK_APP_LOG_NO_STDERR)
01367
01368 #endif
01369
01370
01371