-
Notifications
You must be signed in to change notification settings - Fork 459
AppDev
Vitalii Koshura edited this page Apr 6, 2023
·
3 revisions
BOINC supplies various functions that may be useful in applications, such as cross-platform interfaces to operating system features.
General functions (in lib/util.cpp/h):
return Unix time with fractional seconds
return Unix time at start of this day
sleep for given number of seconds
uniform and normal random numbers
read file into string
File system functions (in lib/filesys.cpp/h):
extern int boinc_delete_file(const char*);
extern int boinc_touch_file(const char *path);
extern FILE* boinc_fopen(const char* path, const char* mode);
extern int boinc_copy(const char* orig, const char* newf);
extern int boinc_rename(const char* old, const char* newf);
extern int boinc_mkdir(const char*);
#ifdef _WIN32
extern int boinc_allocate_file(const char*, double size);
#else
extern int boinc_chown(const char*, gid_t);
#endif
extern int boinc_rmdir(const char*);
extern void boinc_getcwd(char*);
extern void relative_to_absolute(const char* relname, char* path);
extern int is_file(const char* path);
extern int is_dir(const char* path);
extern int is_file_follow_symlinks(const char* path);
extern int is_dir_follow_symlinks(const char* path);
extern int is_symlink(const char* path);
extern bool is_dir_empty(const char*);
extern int boinc_truncate(const char*, double);
extern int boinc_file_exists(const char* path);
extern int boinc_file_or_symlink_exists(const char* path);
extern int file_size(const char*, double&);
extern int clean_out_dir(const char*);
extern int dir_size(const char* dirpath, double&, bool recurse=true);
class DirScanner; // for scanning directories
struct FILE_LOCK; // for locking a file
See lib/parse.cpp,h
See lib/str_util.h
Cross-platform support for strlcpy(), strlcat(), strcasestr() and strcasecmp() is in lib/str_replace.cpp,h
See lib/crypt.cpp,h
See lib/md5.cpp,h
See lib/synch.cpp,h
See lib/shmem.cpp,h
See lib/network.cpp,h
See lib/proc_control.cpp,h