Changeset 3b3e776 in mainline for uspace/lib/libc/include
- Timestamp:
- 2010-02-05T10:57:50Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 0358da0
- Parents:
- 3f085132 (diff), b4cbef1 (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/libc/include
- Files:
-
- 9 added
- 19 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/libc/include/adt/hash_table.h
r3f085132 r3b3e776 88 88 extern void hash_table_remove(hash_table_t *, unsigned long [], hash_count_t); 89 89 extern void hash_table_destroy(hash_table_t *); 90 extern void hash_table_apply(hash_table_t *, void (*)(link_t *, void *), 91 void *); 90 92 91 93 #endif -
uspace/lib/libc/include/assert.h
r3f085132 r3b3e776 51 51 52 52 #ifndef NDEBUG 53 # define assert(expr) if (!(expr)) { printf("Assertion failed (%s) at file '%s', line %d.\n", #expr, __FILE__, __LINE__); abort();} 53 # define assert(expr) \ 54 do { \ 55 if (!(expr)) { \ 56 printf("Assertion failed (%s) at file '%s', " \ 57 "line %d.\n", #expr, __FILE__, __LINE__); \ 58 abort(); \ 59 } \ 60 } while (0) 54 61 #else 55 62 # define assert(expr) -
uspace/lib/libc/include/async.h
r3f085132 r3b3e776 277 277 extern int async_share_out_receive(ipc_callid_t *, size_t *, int *); 278 278 extern int async_share_out_finalize(ipc_callid_t, void *); 279 280 /* 281 * User-friendly wrappers for async_data_read_forward_fast(). 282 */ 283 #define async_data_read_forward_0_0(phoneid, method, answer) \ 284 async_data_read_forward_fast((phoneid), (method), 0, 0, 0, 0, NULL) 285 #define async_data_read_forward_0_1(phoneid, method, answer) \ 286 async_data_read_forward_fast((phoneid), (method), 0, 0, 0, 0, (answer)) 287 #define async_data_read_forward_1_0(phoneid, method, arg1, answer) \ 288 async_data_read_forward_fast((phoneid), (method), (arg1), 0, 0, 0, NULL) 289 #define async_data_read_forward_1_1(phoneid, method, arg1, answer) \ 290 async_data_read_forward_fast((phoneid), (method), (arg1), 0, 0, 0, (answer)) 291 #define async_data_read_forward_2_0(phoneid, method, arg1, arg2, answer) \ 292 async_data_read_forward_fast((phoneid), (method), (arg1), (arg2), 0, 0, NULL) 293 #define async_data_read_forward_2_1(phoneid, method, arg1, arg2, answer) \ 294 async_data_read_forward_fast((phoneid), (method), (arg1), (arg2), 0, 0, \ 295 (answer)) 296 #define async_data_read_forward_3_0(phoneid, method, arg1, arg2, arg3, answer) \ 297 async_data_read_forward_fast((phoneid), (method), (arg1), (arg2), (arg3), 0, \ 298 NULL) 299 #define async_data_read_forward_3_1(phoneid, method, arg1, arg2, arg3, answer) \ 300 async_data_read_forward_fast((phoneid), (method), (arg1), (arg2), (arg3), 0, \ 301 (answer)) 302 #define async_data_read_forward_4_0(phoneid, method, arg1, arg2, arg3, arg4, answer) \ 303 async_data_read_forward_fast((phoneid), (method), (arg1), (arg2), (arg3), \ 304 (arg4), NULL) 305 #define async_data_read_forward_4_1(phoneid, method, arg1, arg2, arg3, arg4, answer) \ 306 async_data_read_forward_fast((phoneid), (method), (arg1), (arg2), (arg3), \ 307 (arg4), (answer)) 308 279 309 extern int async_data_read_start(int, void *, size_t); 280 310 extern int async_data_read_receive(ipc_callid_t *, size_t *); 281 311 extern int async_data_read_finalize(ipc_callid_t, const void *, size_t); 312 extern int async_data_read_forward_fast(int, ipcarg_t, ipcarg_t, ipcarg_t, 313 ipcarg_t, ipcarg_t, ipc_call_t *); 314 315 /* 316 * User-friendly wrappers for async_data_forward_fast(). 317 */ 318 #define async_data_forward_0_0(phoneid, method, answer) \ 319 async_data_forward_fast((phoneid), (method), 0, 0, 0, 0, NULL) 320 #define async_data_forward_0_1(phoneid, method, answer) \ 321 async_data_forward_fast((phoneid), (method), 0, 0, 0, 0, (answer)) 322 #define async_data_forward_1_0(phoneid, method, arg1, answer) \ 323 async_data_forward_fast((phoneid), (method), (arg1), 0, 0, 0, NULL) 324 #define async_data_forward_1_1(phoneid, method, arg1, answer) \ 325 async_data_forward_fast((phoneid), (method), (arg1), 0, 0, 0, (answer)) 326 #define async_data_forward_2_0(phoneid, method, arg1, arg2, answer) \ 327 async_data_forward_fast((phoneid), (method), (arg1), (arg2), 0, 0, NULL) 328 #define async_data_forward_2_1(phoneid, method, arg1, arg2, answer) \ 329 async_data_forward_fast((phoneid), (method), (arg1), (arg2), 0, 0, \ 330 (answer)) 331 #define async_data_forward_3_0(phoneid, method, arg1, arg2, arg3, answer) \ 332 async_data_forward_fast((phoneid), (method), (arg1), (arg2), (arg3), 0, \ 333 NULL) 334 #define async_data_forward_3_1(phoneid, method, arg1, arg2, arg3, answer) \ 335 async_data_forward_fast((phoneid), (method), (arg1), (arg2), (arg3), 0, \ 336 (answer)) 337 #define async_data_forward_4_0(phoneid, method, arg1, arg2, arg3, arg4, answer) \ 338 async_data_forward_fast((phoneid), (method), (arg1), (arg2), (arg3), \ 339 (arg4), NULL) 340 #define async_data_forward_4_1(phoneid, method, arg1, arg2, arg3, arg4, answer) \ 341 async_data_forward_fast((phoneid), (method), (arg1), (arg2), (arg3), \ 342 (arg4), (answer)) 343 282 344 extern int async_data_write_start(int, const void *, size_t); 283 345 extern int async_data_write_receive(ipc_callid_t *, size_t *); 284 346 extern int async_data_write_finalize(ipc_callid_t, void *, size_t); 347 extern int async_data_receive(void **, const size_t, const size_t, 348 const size_t, size_t *); 349 extern int async_string_receive(char **, const size_t, size_t *); 350 extern void async_data_void(const int); 351 extern int async_data_forward_fast(int, ipcarg_t, ipcarg_t, ipcarg_t, ipcarg_t, 352 ipcarg_t, ipc_call_t *); 285 353 286 354 #endif -
uspace/lib/libc/include/atomic.h
r3f085132 r3b3e776 1 1 /* 2 * Copyright (c) 200 6Jakub Jermar2 * Copyright (c) 2009 Jakub Jermar 3 3 * All rights reserved. 4 4 * … … 36 36 #define LIBC_ATOMIC_H_ 37 37 38 typedef struct atomic {39 volatile long count;40 } atomic_t;41 42 38 #include <libarch/atomic.h> 43 44 static inline void atomic_set(atomic_t *val, long i)45 {46 val->count = i;47 }48 49 static inline long atomic_get(atomic_t *val)50 {51 return val->count;52 }53 39 54 40 #endif -
uspace/lib/libc/include/devmap.h
r3f085132 r3b3e776 38 38 #include <ipc/devmap.h> 39 39 #include <async.h> 40 #include <bool.h> 40 41 41 42 extern int devmap_get_phone(devmap_interface_t, unsigned int); … … 46 47 47 48 extern int devmap_device_get_handle(const char *, dev_handle_t *, unsigned int); 49 extern int devmap_namespace_get_handle(const char *, dev_handle_t *, unsigned int); 50 extern devmap_handle_type_t devmap_handle_probe(dev_handle_t); 51 48 52 extern int devmap_device_connect(dev_handle_t, unsigned int); 49 53 … … 51 55 extern void devmap_null_destroy(int); 52 56 53 extern ipcarg_t devmap_device_get_count(void); 54 extern ipcarg_t devmap_device_get_devices(ipcarg_t, dev_desc_t *); 57 extern size_t devmap_count_namespaces(void); 58 extern size_t devmap_count_devices(dev_handle_t); 59 60 extern size_t devmap_get_namespaces(dev_desc_t **); 61 extern size_t devmap_get_devices(dev_handle_t, dev_desc_t **); 55 62 56 63 #endif -
uspace/lib/libc/include/fibril_synch.h
r3f085132 r3b3e776 33 33 */ 34 34 35 #ifndef LIBC_FIBRIL_SYNC _H_36 #define LIBC_FIBRIL_SYNC _H_35 #ifndef LIBC_FIBRIL_SYNCH_H_ 36 #define LIBC_FIBRIL_SYNCH_H_ 37 37 38 38 #include <async.h> -
uspace/lib/libc/include/futex.h
r3f085132 r3b3e776 46 46 extern int futex_down(futex_t *futex); 47 47 extern int futex_trydown(futex_t *futex); 48 extern int futex_down_timeout(futex_t *futex, uint32_t usec, int flags);49 48 extern int futex_up(futex_t *futex); 50 49 -
uspace/lib/libc/include/io/console.h
r3f085132 r3b3e776 69 69 70 70 extern int console_get_size(int phone, int *cols, int *rows); 71 extern int console_get_pos(int phone, int *col, int *row); 71 72 extern void console_goto(int phone, int col, int row); 72 73 -
uspace/lib/libc/include/ipc/bd.h
r3f085132 r3b3e776 40 40 typedef enum { 41 41 BD_GET_BLOCK_SIZE = IPC_FIRST_USER_METHOD, 42 BD_GET_NUM_BLOCKS, 42 43 BD_READ_BLOCKS, 43 44 BD_WRITE_BLOCKS -
uspace/lib/libc/include/ipc/console.h
r3f085132 r3b3e776 43 43 CONSOLE_GET_COLOR_CAP, 44 44 CONSOLE_GET_EVENT, 45 CONSOLE_GET_POS, 45 46 CONSOLE_GOTO, 46 47 CONSOLE_CLEAR, -
uspace/lib/libc/include/ipc/devmap.h
r3f085132 r3b3e776 43 43 44 44 typedef enum { 45 DEV_HANDLE_NONE, 46 DEV_HANDLE_NAMESPACE, 47 DEV_HANDLE_DEVICE 48 } devmap_handle_type_t; 49 50 typedef enum { 45 51 DEVMAP_DRIVER_REGISTER = IPC_FIRST_USER_METHOD, 46 52 DEVMAP_DRIVER_UNREGISTER, 47 53 DEVMAP_DEVICE_REGISTER, 48 54 DEVMAP_DEVICE_UNREGISTER, 49 DEVMAP_DEVICE_GET_NAME,50 55 DEVMAP_DEVICE_GET_HANDLE, 51 DEVMAP_DEVICE_NULL_CREATE, 52 DEVMAP_DEVICE_NULL_DESTROY, 53 DEVMAP_DEVICE_GET_COUNT, 54 DEVMAP_DEVICE_GET_DEVICES 56 DEVMAP_NAMESPACE_GET_HANDLE, 57 DEVMAP_HANDLE_PROBE, 58 DEVMAP_NULL_CREATE, 59 DEVMAP_NULL_DESTROY, 60 DEVMAP_GET_NAMESPACE_COUNT, 61 DEVMAP_GET_DEVICE_COUNT, 62 DEVMAP_GET_NAMESPACES, 63 DEVMAP_GET_DEVICES 55 64 } devmap_request_t; 56 65 -
uspace/lib/libc/include/ipc/services.h
r3f085132 r3b3e776 41 41 SERVICE_LOAD = 1, 42 42 SERVICE_PCI, 43 SERVICE_KEYBOARD,44 43 SERVICE_VIDEO, 45 44 SERVICE_CONSOLE, … … 47 46 SERVICE_DEVMAP, 48 47 SERVICE_FHC, 49 SERVICE_OBIO 48 SERVICE_OBIO, 49 SERVICE_CLIPBOARD 50 50 } services_t; 51 51 -
uspace/lib/libc/include/ipc/vfs.h
r3f085132 r3b3e776 86 86 VFS_OUT_MOUNTED, 87 87 VFS_OUT_UNMOUNT, 88 VFS_OUT_UNMOUNTED, 88 89 VFS_OUT_SYNC, 89 90 VFS_OUT_STAT, … … 100 101 * No lookup flags used. 101 102 */ 102 #define L_NONE 103 #define L_NONE 0 103 104 104 105 /** … … 107 108 * with L_DIRECTORY. 108 109 */ 109 #define L_FILE 110 #define L_FILE 1 110 111 111 112 /** 112 * Lookup wil succeed only if the object is a directory. If L_CREATE is113 * Lookup will succeed only if the object is a directory. If L_CREATE is 113 114 * specified, an empty directory will be created. This flag is mutually 114 115 * exclusive with L_FILE. 115 116 */ 116 #define L_DIRECTORY 2 117 #define L_DIRECTORY 2 118 119 /** 120 * Lookup will succeed only if the object is a root directory. The flag is 121 * mutually exclusive with L_FILE and L_MP. 122 */ 123 #define L_ROOT 4 124 125 /** 126 * Lookup will succeed only if the object is a mount point. The flag is mutually 127 * exclusive with L_FILE and L_ROOT. 128 */ 129 #define L_MP 8 130 117 131 118 132 /** … … 120 134 * object already exists. L_EXCLUSIVE is implied when L_DIRECTORY is used. 121 135 */ 122 #define L_EXCLUSIVE 4136 #define L_EXCLUSIVE 16 123 137 124 138 /** 125 139 * L_CREATE is used for creating both regular files and directories. 126 140 */ 127 #define L_CREATE 8141 #define L_CREATE 32 128 142 129 143 /** 130 144 * L_LINK is used for linking to an already existing nodes. 131 145 */ 132 #define L_LINK 16146 #define L_LINK 64 133 147 134 148 /** … … 137 151 * VFS_UNLINK. 138 152 */ 139 #define L_UNLINK 32153 #define L_UNLINK 128 140 154 141 155 /** 142 * L_OPEN is used to indicate that the lookup operation is a part of VFS_ OPEN156 * L_OPEN is used to indicate that the lookup operation is a part of VFS_IN_OPEN 143 157 * call from the client. This means that the server might allocate some 144 158 * resources for the opened file. This flag cannot be passed directly by the 145 159 * client. 146 160 */ 147 #define L_OPEN 64161 #define L_OPEN 256 148 162 149 163 #endif -
uspace/lib/libc/include/stdlib.h
r3f085132 r3b3e776 38 38 #include <unistd.h> 39 39 #include <malloc.h> 40 #include <stacktrace.h> 40 41 41 #define abort() _exit(1) 42 #define abort() \ 43 do { \ 44 stacktrace_print(); \ 45 _exit(1); \ 46 } while (0) 47 42 48 #define exit(status) _exit((status)) 43 49 -
uspace/lib/libc/include/string.h
r3f085132 r3b3e776 73 73 extern void str_append(char *dest, size_t size, const char *src); 74 74 75 extern void wstr_nstr(char *dst, const wchar_t *src, size_t size); 75 extern void wstr_to_str(char *dest, size_t size, const wchar_t *src); 76 extern char *wstr_to_astr(const wchar_t *src); 77 extern void str_to_wstr(wchar_t *dest, size_t dlen, const char *src); 76 78 77 79 extern char *str_chr(const char *str, wchar_t ch); … … 82 84 83 85 extern char *str_dup(const char *); 86 extern char *str_ndup(const char *, size_t max_size); 84 87 85 88 /* -
uspace/lib/libc/include/sys/stat.h
r3f085132 r3b3e776 42 42 43 43 struct stat { 44 fs_handle_t fs_handle; 45 dev_handle_t dev_handle; 46 fs_index_t index; 47 unsigned lnkcnt; 48 bool is_file; 49 off_t size; 50 union { 51 struct { 52 dev_handle_t device; 53 } devfs_stat; 54 }; 44 fs_handle_t fs_handle; 45 dev_handle_t dev_handle; 46 fs_index_t index; 47 unsigned int lnkcnt; 48 bool is_file; 49 bool is_directory; 50 off_t size; 51 dev_handle_t device; 55 52 }; 56 53 -
uspace/lib/libc/include/sys/types.h
r3f085132 r3b3e776 40 40 typedef long off_t; 41 41 typedef int mode_t; 42 typedef uint64_t bn_t; /**< Block number type. */ 42 43 43 44 typedef int32_t wchar_t; -
uspace/lib/libc/include/udebug.h
r3f085132 r3b3e776 47 47 int udebug_thread_read(int phoneid, void *buffer, size_t n, 48 48 size_t *copied, size_t *needed); 49 int udebug_name_read(int phoneid, void *buffer, size_t n, 50 size_t *copied, size_t *needed); 51 int udebug_areas_read(int phoneid, void *buffer, size_t n, 52 size_t *copied, size_t *needed); 49 53 int udebug_mem_read(int phoneid, void *buffer, uintptr_t addr, size_t n); 50 54 int udebug_args_read(int phoneid, thash_t tid, sysarg_t *buffer); 55 int udebug_regs_read(int phoneid, thash_t tid, void *buffer); 51 56 int udebug_go(int phoneid, thash_t tid, udebug_event_t *ev_type, 52 57 sysarg_t *val0, sysarg_t *val1); -
uspace/lib/libc/include/unistd.h
r3f085132 r3b3e776 51 51 #endif 52 52 53 typedef uint32_t useconds_t; 54 53 55 extern int dup2(int oldfd, int newfd); 54 56 … … 68 70 69 71 extern void _exit(int status) __attribute__ ((noreturn)); 70 extern int usleep(u nsigned long usec);71 extern unsigned int sleep(unsigned int se conds);72 extern int usleep(useconds_t uses); 73 extern unsigned int sleep(unsigned int se); 72 74 73 75 #endif -
uspace/lib/libc/include/vfs/vfs.h
r3f085132 r3b3e776 55 55 extern int mount(const char *, const char *, const char *, const char *, 56 56 unsigned int); 57 extern int unmount(const char *); 57 58 58 59 extern void __stdio_init(int filc, fdi_node_t *filv[]);
Note:
See TracChangeset
for help on using the changeset viewer.