Changeset bd5f3b7 in mainline for uspace/lib/c/include
- Timestamp:
- 2011-08-21T13:07:35Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/fix-logger-deadlock, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 00aece0, f1a9e87
- Parents:
- 86a34d3e (diff), a6480d5 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - Location:
- uspace/lib/c/include
- Files:
-
- 2 added
- 26 edited
- 3 moved
-
as.h (modified) (1 diff)
-
async.h (modified) (6 diffs)
-
ddi.h (modified) (1 diff)
-
devman.h (modified) (3 diffs)
-
elf/elf.h (moved) (moved from uspace/srv/hid/fb/ppm.h ) (2 diffs)
-
elf/elf_linux.h (added)
-
elf/elf_load.h (moved) (moved from uspace/srv/loader/include/elf_load.h ) (3 diffs)
-
errno.h (modified) (1 diff)
-
event.h (modified) (1 diff)
-
ipc/common.h (modified) (2 diffs)
-
ipc/devman.h (modified) (3 diffs)
-
ipc/fb.h (modified) (1 diff)
-
ipc/ipc.h (modified) (2 diffs)
-
ipc/loc.h (moved) (moved from uspace/lib/c/include/ipc/devmap.h ) (2 diffs)
-
ipc/services.h (modified) (1 diff)
-
ipc/vfs.h (modified) (2 diffs)
-
libc.h (modified) (1 diff)
-
loader/loader.h (modified) (2 diffs)
-
loader/pcb.h (modified) (2 diffs)
-
loc.h (added)
-
rtld/elf_dyn.h (modified) (1 diff)
-
rtld/rtld.h (modified) (1 diff)
-
rtld/symbol.h (modified) (1 diff)
-
stats.h (modified) (1 diff)
-
str.h (modified) (1 diff)
-
sys/stat.h (modified) (2 diffs)
-
syscall.h (modified) (1 diff)
-
task.h (modified) (2 diffs)
-
udebug.h (modified) (1 diff)
-
unistd.h (modified) (1 diff)
-
vfs/vfs.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/include/as.h
r86a34d3e rbd5f3b7 37 37 38 38 #include <sys/types.h> 39 #include <abi/mm/as.h> 39 40 #include <task.h> 40 #include <kernel/mm/as.h>41 41 #include <libarch/config.h> 42 42 -
uspace/lib/c/include/async.h
r86a34d3e rbd5f3b7 42 42 #include <ipc/common.h> 43 43 #include <fibril.h> 44 #include <fibril_synch.h>45 44 #include <sys/time.h> 46 45 #include <atomic.h> … … 96 95 } exch_mgmt_t; 97 96 98 /** Session data */ 99 typedef struct { 100 /** List of inactive exchanges */ 101 list_t exch_list; 102 103 /** Exchange management style */ 104 exch_mgmt_t mgmt; 105 106 /** Session identification */ 107 int phone; 108 109 /** First clone connection argument */ 110 sysarg_t arg1; 111 112 /** Second clone connection argument */ 113 sysarg_t arg2; 114 115 /** Third clone connection argument */ 116 sysarg_t arg3; 117 118 /** Exchange mutex */ 119 fibril_mutex_t mutex; 120 121 /** Number of opened exchanges */ 122 atomic_t refcnt; 123 } async_sess_t; 124 125 /** Exchange data */ 126 typedef struct { 127 /** Link into list of inactive exchanges */ 128 link_t sess_link; 129 130 /** Link into global list of inactive exchanges */ 131 link_t global_link; 132 133 /** Session pointer */ 134 async_sess_t *sess; 135 136 /** Exchange identification */ 137 int phone; 138 } async_exch_t; 97 /** Forward declarations */ 98 struct _async_exch; 99 struct _async_sess; 100 101 typedef struct _async_sess async_sess_t; 102 typedef struct _async_exch async_exch_t; 139 103 140 104 extern atomic_t threads_in_ipc_wait; … … 176 140 extern int async_wait_timeout(aid_t, sysarg_t *, suseconds_t); 177 141 178 extern fid_t async_new_connection( sysarg_t, sysarg_t, ipc_callid_t,142 extern fid_t async_new_connection(task_id_t, sysarg_t, ipc_callid_t, 179 143 ipc_call_t *, async_client_conn_t, void *); 180 144 … … 186 150 extern void async_set_client_data_destructor(async_client_data_dtor_t); 187 151 extern void *async_get_client_data(void); 152 extern void *async_get_client_data_by_id(task_id_t); 153 extern void async_put_client_data_by_id(task_id_t); 188 154 189 155 extern void async_set_client_connection(async_client_conn_t); … … 371 337 372 338 /* 339 * FIXME These functions just work around problems with parallel exchange 340 * management. Proper solution needs to be implemented. 341 */ 342 void async_sess_args_set(async_sess_t *sess, sysarg_t, sysarg_t, sysarg_t); 343 344 /* 373 345 * User-friendly wrappers for async_share_in_start(). 374 346 */ … … 477 449 extern async_sess_t *async_callback_receive_start(exch_mgmt_t, ipc_call_t *); 478 450 451 extern int async_state_change_start(async_exch_t *, sysarg_t, sysarg_t, 452 sysarg_t, async_exch_t *); 453 extern bool async_state_change_receive(ipc_callid_t *, sysarg_t *, sysarg_t *, 454 sysarg_t *); 455 extern int async_state_change_finalize(ipc_callid_t, async_exch_t *); 456 457 extern void *async_remote_state_acquire(async_sess_t *); 458 extern void async_remote_state_update(async_sess_t *, void *); 459 extern void async_remote_state_release(async_sess_t *); 460 extern void async_remote_state_release_exchange(async_exch_t *); 461 479 462 #endif 480 463 -
uspace/lib/c/include/ddi.h
r86a34d3e rbd5f3b7 37 37 38 38 #include <sys/types.h> 39 #include < kernel/ddi/irq.h>39 #include <abi/ddi/irq.h> 40 40 #include <task.h> 41 41 -
uspace/lib/c/include/devman.h
r86a34d3e rbd5f3b7 38 38 39 39 #include <ipc/devman.h> 40 #include <ipc/loc.h> 40 41 #include <async.h> 41 42 #include <bool.h> … … 48 49 extern int devman_add_function(const char *, fun_type_t, match_id_list_t *, 49 50 devman_handle_t, devman_handle_t *); 51 extern int devman_remove_function(devman_handle_t); 50 52 51 53 extern async_sess_t *devman_device_connect(exch_mgmt_t, devman_handle_t, … … 54 56 unsigned int); 55 57 56 extern int devman_ device_get_handle(const char *, devman_handle_t *,58 extern int devman_fun_get_handle(const char *, devman_handle_t *, 57 59 unsigned int); 58 extern int devman_device_get_handle_by_class(const char *, const char *, 59 devman_handle_t *, unsigned int); 60 extern int devman_get_device_path(devman_handle_t, char *, size_t); 60 extern int devman_fun_get_child(devman_handle_t, devman_handle_t *); 61 extern int devman_dev_get_functions(devman_handle_t, devman_handle_t **, 62 size_t *); 63 extern int devman_fun_get_name(devman_handle_t, char *, size_t); 64 extern int devman_fun_get_path(devman_handle_t, char *, size_t); 61 65 62 extern int devman_add_device_to_class(devman_handle_t, const char *); 66 extern int devman_add_device_to_category(devman_handle_t, const char *); 67 extern int devman_fun_sid_to_handle(service_id_t, devman_handle_t *); 63 68 64 69 #endif -
uspace/lib/c/include/elf/elf.h
r86a34d3e rbd5f3b7 1 1 /* 2 * Copyright (c) 20 06 Ondrej Palkovsky2 * Copyright (c) 2011 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 27 27 */ 28 28 29 #ifndef FB_PPM_H_ 30 #define FB_PPM_H_ 29 /** @addtogroup generic 30 * @{ 31 */ 32 /** @file 33 */ 31 34 32 #include "fb.h" 35 #ifndef LIBC_ELF_H_ 36 #define LIBC_ELF_H_ 37 33 38 #include <sys/types.h> 34 35 extern int ppm_draw(unsigned char *, size_t, unsigned int, unsigned int, 36 unsigned int, unsigned int, putpixel_cb_t, void *); 37 extern int ppm_get_data(unsigned char *, size_t, unsigned int *, unsigned int *); 39 #include <abi/elf.h> 40 #include <libarch/elf.h> 38 41 39 42 #endif 43 44 /** @} 45 */ -
uspace/lib/c/include/elf/elf_load.h
r86a34d3e rbd5f3b7 1 1 /* 2 * Copyright (c) 2006 Sergey Bondari 2 3 * Copyright (c) 2008 Jiri Svoboda 3 4 * All rights reserved. … … 37 38 #define ELF_LOAD_H_ 38 39 39 #include < arch/elf.h>40 #include <elf/elf.h> 40 41 #include <sys/types.h> 41 42 #include <loader/pcb.h> 42 43 43 #include "elf.h" 44 /** 45 * ELF error return codes 46 */ 47 #define EE_OK 0 /* No error */ 48 #define EE_INVALID 1 /* Invalid ELF image */ 49 #define EE_MEMORY 2 /* Cannot allocate address space */ 50 #define EE_INCOMPATIBLE 3 /* ELF image is not compatible with current architecture */ 51 #define EE_UNSUPPORTED 4 /* Non-supported ELF (e.g. dynamic ELFs) */ 52 #define EE_LOADER 5 /* The image is actually a program loader. */ 53 #define EE_IRRECOVERABLE 6 44 54 45 55 typedef enum { … … 82 92 } elf_ld_t; 83 93 84 int elf_load_file(const char *file_name, size_t so_bias, eld_flags_t flags, 85 elf_info_t *info);86 void elf_create_pcb(elf_info_t *info, pcb_t *pcb);94 extern const char *elf_error(unsigned int); 95 extern int elf_load_file(const char *, size_t, eld_flags_t, elf_info_t *); 96 extern void elf_create_pcb(elf_info_t *, pcb_t *); 87 97 88 98 #endif -
uspace/lib/c/include/errno.h
r86a34d3e rbd5f3b7 36 36 #define LIBC_ERRNO_H_ 37 37 38 #include < kernel/errno.h>38 #include <abi/errno.h> 39 39 #include <fibril.h> 40 40 -
uspace/lib/c/include/event.h
r86a34d3e rbd5f3b7 36 36 #define LIBC_EVENT_H_ 37 37 38 #include <kernel/ipc/event_types.h> 38 #include <abi/ipc/event.h> 39 #include <libarch/types.h> 39 40 40 41 extern int event_subscribe(event_type_t, sysarg_t); 42 extern int event_task_subscribe(event_task_type_t, sysarg_t); 41 43 extern int event_unmask(event_type_t); 44 extern int event_task_unmask(event_task_type_t); 42 45 43 46 #endif -
uspace/lib/c/include/ipc/common.h
r86a34d3e rbd5f3b7 37 37 38 38 #include <sys/types.h> 39 #include <abi/ipc/ipc.h> 39 40 #include <atomic.h> 40 #include < kernel/ipc/ipc.h>41 #include <task.h> 41 42 42 43 #define IPC_FLAG_BLOCKING 0x01 … … 44 45 typedef struct { 45 46 sysarg_t args[IPC_CALL_LEN]; 46 sysarg_t in_task_hash;47 task_id_t in_task_id; 47 48 sysarg_t in_phone_hash; 48 49 } ipc_call_t; -
uspace/lib/c/include/ipc/devman.h
r86a34d3e rbd5f3b7 130 130 DEVMAN_CLIENT, 131 131 DEVMAN_CONNECT_TO_DEVICE, 132 DEVMAN_CONNECT_FROM_ DEVMAP,132 DEVMAN_CONNECT_FROM_LOC, 133 133 DEVMAN_CONNECT_TO_PARENTS_DEVICE 134 134 } devman_interface_t; … … 138 138 DEVMAN_ADD_FUNCTION, 139 139 DEVMAN_ADD_MATCH_ID, 140 DEVMAN_ADD_DEVICE_TO_C LASS141 140 DEVMAN_ADD_DEVICE_TO_CATEGORY, 141 DEVMAN_REMOVE_FUNCTION 142 142 } driver_to_devman_t; 143 143 … … 149 149 typedef enum { 150 150 DEVMAN_DEVICE_GET_HANDLE = IPC_FIRST_USER_METHOD, 151 DEVMAN_DEVICE_GET_HANDLE_BY_CLASS, 152 DEVMAN_DEVICE_GET_DEVICE_PATH 151 DEVMAN_DEV_GET_FUNCTIONS, 152 DEVMAN_FUN_GET_CHILD, 153 DEVMAN_FUN_GET_NAME, 154 DEVMAN_FUN_GET_PATH, 155 DEVMAN_FUN_SID_TO_HANDLE 153 156 } client_to_devman_t; 154 157 -
uspace/lib/c/include/ipc/fb.h
r86a34d3e rbd5f3b7 55 55 FB_DRAW_TEXT_DATA, 56 56 FB_FLUSH, 57 FB_DRAW_ PPM,57 FB_DRAW_IMGMAP, 58 58 FB_PREPARE_SHM, 59 59 FB_DROP_SHM, 60 FB_SHM2 PIXMAP,61 FB_VP_DRAW_ PIXMAP,62 FB_VP2 PIXMAP,63 FB_DROP_ PIXMAP,60 FB_SHM2IMGMAP, 61 FB_VP_DRAW_IMGMAP, 62 FB_VP2IMGMAP, 63 FB_DROP_IMGMAP, 64 64 FB_ANIM_CREATE, 65 65 FB_ANIM_DROP, 66 FB_ANIM_ADD PIXMAP,66 FB_ANIM_ADDIMGMAP, 67 67 FB_ANIM_CHGVP, 68 68 FB_ANIM_START, -
uspace/lib/c/include/ipc/ipc.h
r86a34d3e rbd5f3b7 42 42 #include <sys/types.h> 43 43 #include <ipc/common.h> 44 #include < kernel/ipc/ipc_methods.h>45 #include < kernel/synch/synch.h>44 #include <abi/ipc/methods.h> 45 #include <abi/synch.h> 46 46 #include <task.h> 47 47 … … 254 254 sysarg_t, sysarg_t, void *, ipc_async_callback_t, bool); 255 255 256 extern int ipc_connect_to_me(int, sysarg_t, sysarg_t, sysarg_t, sysarg_t *,256 extern int ipc_connect_to_me(int, sysarg_t, sysarg_t, sysarg_t, task_id_t *, 257 257 sysarg_t *); 258 258 extern int ipc_connect_me(int); -
uspace/lib/c/include/ipc/loc.h
r86a34d3e rbd5f3b7 1 1 /* 2 2 * Copyright (c) 2007 Josef Cejka 3 * Copyright (c) 2011 Jiri Svoboda 3 4 * All rights reserved. 4 5 * … … 27 28 */ 28 29 29 /** @addtogroup devmap30 /** @addtogroup loc 30 31 * @{ 31 32 */ 32 33 33 #ifndef LIBC_IPC_ DEVMAP_H_34 #define LIBC_IPC_ DEVMAP_H_34 #ifndef LIBC_IPC_LOC_H_ 35 #define LIBC_IPC_LOC_H_ 35 36 36 37 #include <ipc/common.h> 37 38 38 #define DEVMAP_NAME_MAXLEN 25539 #define LOC_NAME_MAXLEN 255 39 40 40 typedef sysarg_t devmap_handle_t; 41 typedef sysarg_t service_id_t; 42 typedef sysarg_t category_id_t; 41 43 42 44 typedef enum { 43 DEV_HANDLE_NONE,44 DEV_HANDLE_NAMESPACE,45 DEV_HANDLE_DEVICE46 } devmap_handle_type_t;45 LOC_OBJECT_NONE, 46 LOC_OBJECT_NAMESPACE, 47 LOC_OBJECT_SERVICE 48 } loc_object_type_t; 47 49 48 50 typedef enum { 49 DEVMAP_DRIVER_REGISTER = IPC_FIRST_USER_METHOD, 50 DEVMAP_DRIVER_UNREGISTER, 51 DEVMAP_DEVICE_REGISTER, 52 DEVMAP_DEVICE_UNREGISTER, 53 DEVMAP_DEVICE_GET_HANDLE, 54 DEVMAP_NAMESPACE_GET_HANDLE, 55 DEVMAP_HANDLE_PROBE, 56 DEVMAP_NULL_CREATE, 57 DEVMAP_NULL_DESTROY, 58 DEVMAP_GET_NAMESPACE_COUNT, 59 DEVMAP_GET_DEVICE_COUNT, 60 DEVMAP_GET_NAMESPACES, 61 DEVMAP_GET_DEVICES 62 } devmap_request_t; 51 LOC_SERVER_REGISTER = IPC_FIRST_USER_METHOD, 52 LOC_SERVER_UNREGISTER, 53 LOC_SERVICE_ADD_TO_CAT, 54 LOC_SERVICE_REGISTER, 55 LOC_SERVICE_UNREGISTER, 56 LOC_SERVICE_GET_ID, 57 LOC_SERVICE_GET_NAME, 58 LOC_NAMESPACE_GET_ID, 59 LOC_CALLBACK_CREATE, 60 LOC_CATEGORY_GET_ID, 61 LOC_CATEGORY_GET_NAME, 62 LOC_CATEGORY_GET_SVCS, 63 LOC_ID_PROBE, 64 LOC_NULL_CREATE, 65 LOC_NULL_DESTROY, 66 LOC_GET_NAMESPACE_COUNT, 67 LOC_GET_SERVICE_COUNT, 68 LOC_GET_CATEGORIES, 69 LOC_GET_NAMESPACES, 70 LOC_GET_SERVICES 71 } loc_request_t; 63 72 64 /** Interface provided by devmap. 73 typedef enum { 74 LOC_EVENT_CAT_CHANGE = IPC_FIRST_USER_METHOD 75 } loc_event_t; 76 77 /** Ports provided by location service. 65 78 * 66 * Every process that connects to devmapmust ask one of following67 * interfacesotherwise connection will be refused.79 * Every process that connects to loc must ask one of following 80 * ports, otherwise connection will be refused. 68 81 * 69 82 */ 70 83 typedef enum { 71 /** Connect as device driver*/72 DEVMAP_DRIVER = 1,73 /** Connect as client */74 DEVMAP_CLIENT,84 /** Service supplier (server) port */ 85 LOC_PORT_SUPPLIER = 1, 86 /** Service consumer (client) port */ 87 LOC_PORT_CONSUMER, 75 88 /** Create new connection to instance of device that 76 89 is specified by second argument of call. */ 77 DEVMAP_CONNECT_TO_DEVICE78 } devmap_interface_t;90 LOC_CONNECT_TO_SERVICE 91 } loc_interface_t; 79 92 80 93 typedef struct { 81 devmap_handle_t handle;82 char name[ DEVMAP_NAME_MAXLEN + 1];83 } dev_desc_t;94 service_id_t id; 95 char name[LOC_NAME_MAXLEN + 1]; 96 } loc_sdesc_t; 84 97 85 98 #endif -
uspace/lib/c/include/ipc/services.h
r86a34d3e rbd5f3b7 45 45 SERVICE_VIDEO = FOURCC('v', 'i', 'd', ' '), 46 46 SERVICE_VFS = FOURCC('v', 'f', 's', ' '), 47 SERVICE_ DEVMAP = FOURCC('d', 'e', 'v', 'p'),47 SERVICE_LOC = FOURCC('l', 'o', 'c', ' '), 48 48 SERVICE_DEVMAN = FOURCC('d', 'e', 'v', 'n'), 49 49 SERVICE_IRC = FOURCC('i', 'r', 'c', ' '), -
uspace/lib/c/include/ipc/vfs.h
r86a34d3e rbd5f3b7 62 62 typedef enum { 63 63 VFS_IN_OPEN = IPC_FIRST_USER_METHOD, 64 VFS_IN_OPEN_NODE,65 64 VFS_IN_READ, 66 65 VFS_IN_WRITE, … … 78 77 VFS_IN_RENAME, 79 78 VFS_IN_STAT, 80 VFS_IN_DUP 79 VFS_IN_DUP, 80 VFS_IN_WAIT_HANDLE, 81 81 } vfs_in_request_t; 82 82 -
uspace/lib/c/include/libc.h
r86a34d3e rbd5f3b7 37 37 38 38 #include <sys/types.h> 39 #include < kernel/syscall/syscall.h>39 #include <abi/syscall.h> 40 40 #include <libarch/syscall.h> 41 41 -
uspace/lib/c/include/loader/loader.h
r86a34d3e rbd5f3b7 38 38 39 39 #include <task.h> 40 #include <vfs/vfs.h>41 40 42 41 /** Forward declararion */ … … 50 49 extern int loader_set_pathname(loader_t *, const char *); 51 50 extern int loader_set_args(loader_t *, const char *const[]); 52 extern int loader_set_files(loader_t *, fdi_node_t *const[]);51 extern int loader_set_files(loader_t *, int *const[]); 53 52 extern int loader_load_program(loader_t *); 54 53 extern int loader_run(loader_t *); -
uspace/lib/c/include/loader/pcb.h
r86a34d3e rbd5f3b7 38 38 39 39 #include <sys/types.h> 40 #include <vfs/vfs.h>41 40 42 41 typedef void (*entry_point_t)(void); … … 62 61 63 62 /** Number of preset files. */ 64 int filc; 65 /** Preset files. */ 66 fdi_node_t **filv; 63 unsigned int filc; 67 64 68 65 /* -
uspace/lib/c/include/rtld/elf_dyn.h
r86a34d3e rbd5f3b7 36 36 #define LIBC_RTLD_ELF_DYN_H_ 37 37 38 #include <arch/elf.h>39 38 #include <sys/types.h> 40 41 #include <elf.h> 39 #include <elf/elf.h> 42 40 #include <libarch/rtld/elf_dyn.h> 43 41 -
uspace/lib/c/include/rtld/rtld.h
r86a34d3e rbd5f3b7 49 49 50 50 /** List of all loaded modules including rtld and the program */ 51 li nk_t modules_head;51 list_t modules; 52 52 53 53 /** Temporary hack to place each module at different address. */ -
uspace/lib/c/include/rtld/symbol.h
r86a34d3e rbd5f3b7 36 36 #define LIBC_RTLD_SYMBOL_H_ 37 37 38 #include <elf/elf.h> 38 39 #include <rtld/rtld.h> 39 #include <elf.h>40 40 41 41 elf_symbol_t *symbol_bfs_find(const char *name, module_t *start, module_t **mod); -
uspace/lib/c/include/stats.h
r86a34d3e rbd5f3b7 40 40 #include <stdint.h> 41 41 #include <bool.h> 42 #include <kernel/sysinfo/abi.h> 42 #include <sys/types.h> 43 #include <abi/sysinfo.h> 43 44 44 45 extern stats_cpu_t *stats_get_cpus(size_t *); -
uspace/lib/c/include/str.h
r86a34d3e rbd5f3b7 83 83 extern char *wstr_to_astr(const wchar_t *src); 84 84 extern void str_to_wstr(wchar_t *dest, size_t dlen, const char *src); 85 extern wchar_t *str_to_awstr(const char *src); 85 86 86 87 extern char *str_chr(const char *str, wchar_t ch); -
uspace/lib/c/include/sys/stat.h
r86a34d3e rbd5f3b7 39 39 #include <bool.h> 40 40 #include <ipc/vfs.h> 41 #include <ipc/ devmap.h>41 #include <ipc/loc.h> 42 42 43 43 struct stat { 44 44 fs_handle_t fs_handle; 45 devmap_handle_t devmap_handle;45 service_id_t service_id; 46 46 fs_index_t index; 47 47 unsigned int lnkcnt; … … 49 49 bool is_directory; 50 50 aoff64_t size; 51 devmap_handle_t device;51 service_id_t service; 52 52 }; 53 53 -
uspace/lib/c/include/syscall.h
r86a34d3e rbd5f3b7 45 45 46 46 #include <sys/types.h> 47 #include < kernel/syscall/syscall.h>47 #include <abi/syscall.h> 48 48 49 49 #define __syscall0 __syscall -
uspace/lib/c/include/task.h
r86a34d3e rbd5f3b7 37 37 38 38 #include <sys/types.h> 39 #include <vfs/vfs.h>40 39 41 40 typedef uint64_t task_id_t; … … 53 52 extern int task_spawnv(task_id_t *, const char *path, const char *const []); 54 53 extern int task_spawnvf(task_id_t *, const char *path, const char *const [], 55 fdi_node_t *const []);54 int *const []); 56 55 extern int task_spawnl(task_id_t *, const char *path, ...); 57 56 -
uspace/lib/c/include/udebug.h
r86a34d3e rbd5f3b7 36 36 #define LIBC_UDEBUG_H_ 37 37 38 #include < kernel/udebug/udebug.h>38 #include <abi/udebug.h> 39 39 #include <sys/types.h> 40 40 #include <async.h> -
uspace/lib/c/include/unistd.h
r86a34d3e rbd5f3b7 63 63 extern ssize_t read(int, void *, size_t); 64 64 65 extern ssize_t read_all(int, void *, size_t); 66 extern ssize_t write_all(int, const void *, size_t); 67 65 68 extern off64_t lseek(int, off64_t, int); 66 69 extern int ftruncate(int, aoff64_t); -
uspace/lib/c/include/vfs/vfs.h
r86a34d3e rbd5f3b7 38 38 #include <sys/types.h> 39 39 #include <ipc/vfs.h> 40 #include <ipc/ devmap.h>40 #include <ipc/loc.h> 41 41 #include <stdio.h> 42 #include <async.h> 42 43 43 /** Libc version of the VFS triplet. 44 * 45 * Unique identification of a file system node 46 * within a file system instance. 47 * 48 */ 49 typedef struct { 50 fs_handle_t fs_handle; 51 devmap_handle_t devmap_handle; 52 fs_index_t index; 53 } fdi_node_t; 44 enum vfs_change_state_type { 45 VFS_PASS_HANDLE 46 }; 54 47 55 48 extern char *absolutize(const char *, size_t *); … … 59 52 extern int unmount(const char *); 60 53 61 extern int open_node(fdi_node_t *, int); 62 extern int fd_node(int, fdi_node_t *); 54 extern int fhandle(FILE *, int *); 63 55 64 extern FILE *fopen_node(fdi_node_t *, const char *); 65 extern int fnode(FILE *, fdi_node_t *); 56 extern int fd_wait(void); 57 58 extern async_exch_t *vfs_exchange_begin(void); 59 extern void vfs_exchange_end(async_exch_t *); 66 60 67 61 #endif
Note:
See TracChangeset
for help on using the changeset viewer.
