560 static int available(int fd, jlong *bytes); |
560 static int available(int fd, jlong *bytes); |
561 |
561 |
562 //File i/o operations |
562 //File i/o operations |
563 |
563 |
564 static size_t read(int fd, void *buf, unsigned int nBytes); |
564 static size_t read(int fd, void *buf, unsigned int nBytes); |
|
565 static size_t read_at(int fd, void *buf, unsigned int nBytes, jlong offset); |
565 static size_t restartable_read(int fd, void *buf, unsigned int nBytes); |
566 static size_t restartable_read(int fd, void *buf, unsigned int nBytes); |
566 static size_t write(int fd, const void *buf, unsigned int nBytes); |
567 static size_t write(int fd, const void *buf, unsigned int nBytes); |
567 |
568 |
568 // Reading directories. |
569 // Reading directories. |
569 static DIR* opendir(const char* dirname); |
570 static DIR* opendir(const char* dirname); |
607 // lookup symbol in a shared library |
608 // lookup symbol in a shared library |
608 static void* dll_lookup(void* handle, const char* name); |
609 static void* dll_lookup(void* handle, const char* name); |
609 |
610 |
610 // Unload library |
611 // Unload library |
611 static void dll_unload(void *lib); |
612 static void dll_unload(void *lib); |
|
613 |
|
614 // Callback for loaded module information |
|
615 // Input parameters: |
|
616 // char* module_file_name, |
|
617 // address module_base_addr, |
|
618 // address module_top_addr, |
|
619 // void* param |
|
620 typedef int (*LoadedModulesCallbackFunc)(const char *, address, address, void *); |
|
621 |
|
622 static int get_loaded_modules_info(LoadedModulesCallbackFunc callback, void *param); |
612 |
623 |
613 // Return the handle of this process |
624 // Return the handle of this process |
614 static void* get_default_process_handle(); |
625 static void* get_default_process_handle(); |
615 |
626 |
616 // Check for static linked agent library |
627 // Check for static linked agent library |