Changeset 5828554 in mainline for uspace/lib/c/include
- Timestamp:
- 2014-01-19T14:37:22Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- cf982ff
- Parents:
- 2f591127 (diff), 476f62c (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:
-
- 3 added
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/include/bitops.h
r2f591127 r5828554 107 107 } 108 108 109 extern int __popcountsi2(int);110 111 109 #endif 112 110 -
uspace/lib/c/include/ddi.h
r2f591127 r5828554 130 130 } 131 131 132 extern int irq_register(int, int, int, irq_code_t *);132 extern int irq_register(int, int, int, const irq_code_t *); 133 133 extern int irq_unregister(int, int); 134 134 -
uspace/lib/c/include/io/klog.h
r2f591127 r5828554 1 1 /* 2 * Copyright (c) 20 06 Jakub Vana2 * Copyright (c) 2013 Martin Sucha 3 3 * All rights reserved. 4 4 * … … 39 39 #include <stdarg.h> 40 40 #include <io/verify.h> 41 #include <stdio.h> 42 #include <stdlib.h> 43 #include <str.h> 44 #include <abi/log.h> 41 45 42 extern size_t klog_write(const void *, size_t); 43 extern void klog_update(void); 44 extern void klog_command(const void *, size_t); 45 extern int klog_printf(const char *, ...) 46 PRINTF_ATTRIBUTE(1, 2); 47 extern int klog_vprintf(const char *, va_list); 46 extern size_t klog_write(log_level_t, const void *, size_t); 47 extern int klog_read(void *, size_t); 48 49 #define KLOG_PRINTF(lvl, fmt, ...) ({ \ 50 char *_fmt = str_dup(fmt); \ 51 size_t _fmtsize = str_size(_fmt); \ 52 if (_fmtsize > 0 && _fmt[_fmtsize - 1] == '\n') \ 53 _fmt[_fmtsize - 1] = 0; \ 54 char *_s; \ 55 int _c = asprintf(&_s, _fmt, ##__VA_ARGS__); \ 56 free(_fmt); \ 57 if (_c >= 0) { \ 58 _c = klog_write((lvl), _s, str_size(_s)); \ 59 free(_s); \ 60 }; \ 61 (_c >= 0); \ 62 }) 48 63 49 64 #endif -
uspace/lib/c/include/io/log.h
r2f591127 r5828554 39 39 #include <io/verify.h> 40 40 41 /** Log message level. */ 42 typedef enum { 43 /** Fatal error, program is not able to recover at all. */ 44 LVL_FATAL, 45 /** Serious error but the program can recover from it. */ 46 LVL_ERROR, 47 /** Easily recoverable problem. */ 48 LVL_WARN, 49 /** Information message that ought to be printed by default. */ 50 LVL_NOTE, 51 /** Debugging purpose message. */ 52 LVL_DEBUG, 53 /** More detailed debugging message. */ 54 LVL_DEBUG2, 55 56 /** For checking range of values */ 57 LVL_LIMIT 58 } log_level_t; 41 #include <abi/log.h> 59 42 60 43 /** Log itself (logging target). */ -
uspace/lib/c/include/io/window.h
r2f591127 r5828554 43 43 #include <io/pos_event.h> 44 44 45 typedef enum { 46 GF_EMPTY = 0, 47 GF_MOVE_X = 1, 48 GF_MOVE_Y = 2, 49 GF_RESIZE_X = 4, 50 GF_RESIZE_Y = 8, 51 GF_SCALE_X = 16, 52 GF_SCALE_Y = 32 53 } window_grab_flags_t; 54 55 typedef enum { 56 WINDOW_PLACEMENT_ANY = 0, 57 WINDOW_PLACEMENT_CENTER_X = 1, 58 WINDOW_PLACEMENT_CENTER_Y = 2, 59 WINDOW_PLACEMENT_CENTER = 60 WINDOW_PLACEMENT_CENTER_X | WINDOW_PLACEMENT_CENTER_Y, 61 WINDOW_PLACEMENT_LEFT = 4, 62 WINDOW_PLACEMENT_RIGHT = 8, 63 WINDOW_PLACEMENT_TOP = 16, 64 WINDOW_PLACEMENT_BOTTOM = 32, 65 WINDOW_PLACEMENT_ABSOLUTE_X = 64, 66 WINDOW_PLACEMENT_ABSOLUTE_Y = 128, 67 WINDOW_PLACEMENT_ABSOLUTE = 68 WINDOW_PLACEMENT_ABSOLUTE_X | WINDOW_PLACEMENT_ABSOLUTE_Y 69 } window_placement_flags_t; 70 45 71 typedef struct { 46 72 sysarg_t object; 47 73 sysarg_t slot; 48 74 sysarg_t argument; 49 } sig _event_t;75 } signal_event_t; 50 76 51 77 typedef struct { 78 sysarg_t offset_x; 79 sysarg_t offset_y; 52 80 sysarg_t width; 53 81 sysarg_t height; 54 } rsz_event_t; 82 window_placement_flags_t placement_flags; 83 } resize_event_t; 55 84 56 85 typedef enum { … … 69 98 kbd_event_t kbd; 70 99 pos_event_t pos; 71 sig _event_t sig;72 r sz_event_t rsz;100 signal_event_t signal; 101 resize_event_t resize; 73 102 } window_event_data_t; 74 103 … … 79 108 } window_event_t; 80 109 81 typedef enum { 82 GF_EMPTY = 0, 83 GF_MOVE_X = 1, 84 GF_MOVE_Y = 2, 85 GF_RESIZE_X = 4, 86 GF_RESIZE_Y = 8, 87 GF_SCALE_X = 16, 88 GF_SCALE_Y = 32 89 } window_grab_flags_t; 90 91 extern int win_register(async_sess_t *, service_id_t *, service_id_t *, sysarg_t, sysarg_t); 110 extern int win_register(async_sess_t *, service_id_t *, service_id_t *); 92 111 93 112 extern int win_get_event(async_sess_t *, window_event_t *); … … 95 114 extern int win_damage(async_sess_t *, sysarg_t, sysarg_t, sysarg_t, sysarg_t); 96 115 extern int win_grab(async_sess_t *, sysarg_t, sysarg_t); 97 extern int win_resize(async_sess_t *, sysarg_t, sysarg_t, void *); 116 extern int win_resize(async_sess_t *, sysarg_t, sysarg_t, sysarg_t, sysarg_t, 117 window_placement_flags_t, void *); 98 118 extern int win_close(async_sess_t *); 99 119 extern int win_close_request(async_sess_t *); -
uspace/lib/c/include/setjmp.h
r2f591127 r5828554 1 1 /* 2 2 * Copyright (c) 2008 Josef Cejka 3 * Copyright (c) 2013 Vojtech Horky 3 4 * All rights reserved. 4 5 * … … 30 31 * @{ 31 32 */ 32 /** @file 33 /** @file Long jump implementation. 34 * 35 * Implementation inspired by Jiri Zarevucky's code from 36 * http://bazaar.launchpad.net/~zarevucky-jiri/helenos/stdc/revision/1544/uspace/lib/posix/setjmp.h 33 37 */ 34 38 … … 38 42 #include <libarch/fibril.h> 39 43 40 typedef context_t jmp_buf[1]; 44 struct jmp_buf_interal { 45 context_t context; 46 int return_value; 47 }; 48 typedef struct jmp_buf_interal jmp_buf[1]; 41 49 42 extern int setjmp(jmp_buf env); 50 /* 51 * Specified as extern to minimize number of included headers 52 * because this file is used as is in libposix too. 53 */ 54 extern int context_save(context_t *ctx) __attribute__((returns_twice)); 55 56 /** 57 * Save current environment (registers). 58 * 59 * This function may return twice. 60 * 61 * @param env Variable where to save the environment (of type jmp_buf). 62 * @return Whether the call returned after longjmp. 63 * @retval 0 Environment was saved, normal execution. 64 * @retval other longjmp was executed and returned here. 65 */ 66 #define setjmp(env) \ 67 ((env)[0].return_value = 0, \ 68 context_save(&(env)[0].context), \ 69 (env)[0].return_value) 70 43 71 extern void longjmp(jmp_buf env, int val) __attribute__((noreturn)); 44 72 -
uspace/lib/c/include/stdio.h
r2f591127 r5828554 40 40 #include <str.h> 41 41 #include <io/verify.h> 42 #include <abi/k log.h>42 #include <abi/kio.h> 43 43 44 44 #define EOF (-1) … … 52 52 int _n = snprintf(_buf, sizeof(_buf), fmt, ##__VA_ARGS__); \ 53 53 if (_n > 0) \ 54 (void) __SYSCALL3(SYS_K LOG, KLOG_WRITE, (sysarg_t) _buf, str_size(_buf)); \54 (void) __SYSCALL3(SYS_KIO, KIO_WRITE, (sysarg_t) _buf, str_size(_buf)); \ 55 55 } 56 56
Note:
See TracChangeset
for help on using the changeset viewer.
