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
00144 #ifndef DK_SYSFCT_INCLUDED
00145
00147 #define DK_SYSFCT_INCLUDED 1
00148
00149 #include <dk.h>
00150 #include <dktypes.h>
00151 #include <dksfc.h>
00152
00153 #if defined(EXTERN)
00154 #undef EXTERN
00155 #endif
00156 #ifndef DK_SYSFCT_C
00157 #if !DK_HAVE_PROTOTYPES
00158 #define EXTERN extern
00159 #else
00160 #define EXTERN
00161 #endif
00162 #else
00163 #define EXTERN
00164 #endif
00165
00166 #if defined(__cplusplus)
00167 extern "C" {
00168 #endif
00169
00178 EXTERN dk_stat_t * dkstat_open DK_PR((char *n));
00179
00186 EXTERN dk_stat_t * dkstat_new DK_PR((void));
00187
00193 EXTERN int dkstat_get DK_PR((dk_stat_t *p, char *n));
00194
00198 EXTERN void dkstat_delete DK_PR((dk_stat_t *p));
00199
00204 EXTERN void dkstat_close DK_PR((dk_stat_t *p));
00205
00213 EXTERN int dkstat_filetype DK_PR((dk_stat_t *p));
00214
00220 EXTERN int dkstat_permissions DK_PR((dk_stat_t *p));
00221
00226 EXTERN unsigned long dkstat_inode DK_PR((dk_stat_t *p));
00227
00232 EXTERN unsigned long dkstat_device DK_PR((dk_stat_t *p));
00233
00238 EXTERN unsigned long dkstat_rdevice DK_PR((dk_stat_t *p));
00239
00244 EXTERN unsigned long dkstat_nlinks DK_PR((dk_stat_t *p));
00245
00250 EXTERN dk_long_long_unsigned_t dkstat_size DK_PR((dk_stat_t *p));
00251
00260 EXTERN dk_long_long_unsigned_t dkstat_size_ok DK_PR((dk_stat_t *p, int *ok));
00261
00266 EXTERN long dkstat_uid DK_PR((dk_stat_t *p));
00267
00272 EXTERN long dkstat_gid DK_PR((dk_stat_t *p));
00273
00278 EXTERN char * dkstat_ctime DK_PR((dk_stat_t *p));
00279
00284 EXTERN char * dkstat_atime DK_PR((dk_stat_t *p));
00285
00290 EXTERN char * dkstat_mtime DK_PR((dk_stat_t *p));
00291
00297 EXTERN int dkstat_far_link DK_PR((dk_stat_t *p));
00298
00305 EXTERN dk_dir_t *dkdir_open DK_PR((char *n));
00306
00310 EXTERN void dkdir_close DK_PR((dk_dir_t *d));
00311
00317 EXTERN dk_dir_t *dkdir_new DK_PR((void));
00318
00322 EXTERN void dkdir_delete DK_PR((dk_dir_t *d));
00323
00332 EXTERN int dkdir_start_search DK_PR((dk_dir_t *d, char *n));
00333
00339 EXTERN void dkdir_end_search DK_PR((dk_dir_t *d));
00340
00357 EXTERN int dkdir_next DK_PR((dk_dir_t *d));
00358
00363 EXTERN char *dkdir_get_fullname DK_PR((dk_dir_t *d));
00364
00369 EXTERN char *dkdir_get_shortname DK_PR((dk_dir_t *d));
00370
00375 EXTERN long dkdir_uid DK_PR((dk_dir_t *d));
00376
00381 EXTERN long dkdir_gid DK_PR((dk_dir_t *d));
00382
00387 EXTERN char * dkdir_ctime DK_PR((dk_dir_t *d));
00388
00393 EXTERN char * dkdir_atime DK_PR((dk_dir_t *d));
00394
00399 EXTERN char * dkdir_mtime DK_PR((dk_dir_t *d));
00400
00405 EXTERN int dkdir_filetype DK_PR((dk_dir_t *d));
00406
00411 EXTERN int dkdir_permissions DK_PR((dk_dir_t *d));
00412
00417 EXTERN unsigned long dkdir_inode DK_PR((dk_dir_t *d));
00418
00423 EXTERN unsigned long dkdir_device DK_PR((dk_dir_t *d));
00424
00429 EXTERN unsigned long dkdir_rdevice DK_PR((dk_dir_t *d));
00430
00435 EXTERN unsigned long dkdir_nlinks DK_PR((dk_dir_t *d));
00436
00441 EXTERN dk_long_long_unsigned_t dkdir_size DK_PR((dk_dir_t *d));
00442
00449 EXTERN dk_long_long_unsigned_t dkdir_size_ok DK_PR((dk_dir_t *d, int *ok));
00450
00459 EXTERN dk_stat_t *dkdir_stat DK_PR((dk_dir_t *d));
00460
00469 EXTERN int dksf_must_expand_filename DK_PR((char *n));
00470
00482 EXTERN dk_fne_t *dkfne_open DK_PR((char *n, int f, int d));
00483
00487 EXTERN void dkfne_close DK_PR((dk_fne_t *f));
00488
00499 EXTERN int dkfne_next DK_PR((dk_fne_t *f));
00500
00511 EXTERN char *dkfne_get_one DK_PR((dk_fne_t * f));
00512
00517 EXTERN char *dkfne_get_fullname DK_PR((dk_fne_t *f));
00518
00523 EXTERN char *dkfne_get_shortname DK_PR((dk_fne_t *f));
00524
00533 EXTERN int dkfne_get_error_code DK_PR((dk_fne_t *f, int r));
00534
00541 EXTERN int dksf_mkdir DK_PR((char *p, int m));
00542
00549 EXTERN int dksf_chmod DK_PR((char *p, int m));
00550
00557 EXTERN int dksf_fchmod DK_PR((int fd, int m));
00558
00562 EXTERN int dksf_have_getuid DK_PR((void));
00563
00567 EXTERN long dksf_getuid DK_PR((void));
00568
00572 EXTERN int dksf_have_geteuid DK_PR((void));
00573
00577 EXTERN long dksf_geteuid DK_PR((void));
00578
00582 EXTERN int dksf_have_getgid DK_PR((void));
00583
00587 EXTERN long dksf_getgid DK_PR((void));
00588
00592 EXTERN int dksf_have_getegid DK_PR((void));
00593
00597 EXTERN long dksf_getegid DK_PR((void));
00598
00602 EXTERN int dksf_have_getpid DK_PR((void));
00603
00607 EXTERN long dksf_getpid DK_PR((void));
00608
00612 EXTERN int dksf_have_getppid DK_PR((void));
00613
00617 EXTERN long dksf_getppid DK_PR((void));
00618
00622 EXTERN int dksf_have_getpgrp DK_PR((void));
00623
00627 EXTERN long dksf_getpgrp DK_PR((void));
00628
00632 EXTERN int dksf_have_getpgid DK_PR((void));
00633
00638 EXTERN long dksf_getpgid DK_PR((long p));
00639
00645 EXTERN int dksf_get_uname DK_PR((char *b, size_t s));
00646
00652 EXTERN int dksf_get_euname DK_PR((char *b, size_t s));
00653
00659 EXTERN int dksf_get_home DK_PR((char *b, size_t s));
00660
00666 EXTERN int dksf_get_ehome DK_PR((char *b, size_t s));
00667
00673 EXTERN int dksf_get_hostname DK_PR((char *b, size_t s));
00674
00680 EXTERN int dksf_get_domainname DK_PR((char *b, size_t s));
00681
00687 EXTERN int dksf_get_tempdir DK_PR((char *b, size_t s));
00688
00692 EXTERN long dksf_get_maxpathlen DK_PR((void));
00693
00697 EXTERN long dksf_get_maxfiles DK_PR((void));
00698
00704 EXTERN int dksf_getcwd DK_PR((char *b, size_t s));
00705
00716 EXTERN int dksf_get_executable DK_PR((char *b, size_t s, char *d, char *p, int w));
00717
00725 EXTERN int dksf_path_combine DK_PR((char *b, size_t s, char *c, char *p));
00726
00732 EXTERN int dksf_is_abs_path DK_PR((char *p));
00733
00739 EXTERN char *dksf_get_file_type_dot DK_PR((char *p));
00740
00745 EXTERN char *dksf_get_last_filename DK_PR((char *p));
00746
00751 EXTERN void dksf_time_convert DK_PR((char *b, time_t t));
00752
00760 EXTERN void dksf_correct_fnsep DK_PR((char *p));
00761
00767 EXTERN int dksf_remove_directory DK_PR((char *p));
00768
00773 EXTERN int dksf_remove_file DK_PR((char *p));
00774
00794 EXTERN int dksf_allowed_to_write DK_PR((char *p, int i, int *r));
00795
00809 EXTERN FILE *dksf_msfo DK_PR((char *p, char *m, int i, int *r));
00810
00819 EXTERN FILE *dksf_fopen DK_PR((char *p, char *m));
00820
00831 EXTERN int dksf_fdesk_binary DK_PR((int f, int b));
00832
00839 EXTERN int dksf_get_filetype DK_PR((char *p));
00840
00845 EXTERN int dksf_is_directory DK_PR((char *p));
00846
00851 EXTERN int dksf_no_core DK_PR((void));
00852
00856 EXTERN int dksf_echo_test_tty DK_PR((void));
00857
00862 EXTERN int dksf_echo_save DK_PR((dk_echo_t *e));
00863
00868 EXTERN int dksf_echo_restore DK_PR((dk_echo_t *e));
00869
00874 EXTERN int dksf_echo_is_tty DK_PR((dk_echo_t *e));
00875
00880 EXTERN int dksf_echo_off DK_PR((dk_echo_t *e));
00881
00885 EXTERN unsigned long dksf_filesize_bytes DK_PR((void));
00886
00890 EXTERN unsigned long dksf_long_long_bytes DK_PR((void));
00891
00897 EXTERN int dksf_must_rebuild DK_PR((char *d, char *s));
00898
00899 #if defined(__cplusplus)
00900 }
00901 #endif
00902
00904 #define DK_SF_SEC_WG 1
00905
00907 #define DK_SF_SEC_WO 2
00908
00910 #define DK_SF_SEC_OWNER 4
00911
00913 #define DK_SF_SEC_DIR 8
00914
00915 #endif
00916
00917