Changeset 5e6e50b in mainline for uspace/lib/c/include
- Timestamp:
- 2011-05-17T09:20:34Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 2aaf804
- Parents:
- a29529b (diff), 3375bd4 (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:
-
- 9 added
- 12 edited
- 1 moved
-
adt/fifo.h (modified) (1 diff)
-
adt/list.h (modified) (12 diffs)
-
adt/measured_strings.h (modified) (1 diff)
-
adt/prodcons.h (added)
-
as.h (modified) (1 diff)
-
assert.h (modified) (3 diffs)
-
dlfcn.h (added)
-
entry_point.h (moved) (moved from kernel/arch/sparc64/include/mm/cache.h ) (3 diffs)
-
errno.h (modified) (1 diff)
-
event.h (modified) (1 diff)
-
fibril.h (modified) (1 diff)
-
fibril_synch.h (modified) (2 diffs)
-
loader/pcb.h (modified) (1 diff)
-
macros.h (modified) (1 diff)
-
rtld/dynamic.h (added)
-
rtld/elf_dyn.h (added)
-
rtld/module.h (added)
-
rtld/rtld.h (added)
-
rtld/rtld_arch.h (added)
-
rtld/rtld_debug.h (added)
-
rtld/symbol.h (added)
-
str.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/include/adt/fifo.h
ra29529b r5e6e50b 51 51 typedef unsigned long fifo_index_t; 52 52 53 #define FIFO_CREATE_STATIC(name, t, itms) \54 struct { \55 t fifo[(itms)]; \56 fifo_count_t items; \57 fifo_index_t head; \58 fifo_index_t tail; \53 #define FIFO_CREATE_STATIC(name, t, itms) \ 54 struct { \ 55 t fifo[(itms)]; \ 56 fifo_count_t items; \ 57 fifo_index_t head; \ 58 fifo_index_t tail; \ 59 59 } name 60 60 -
uspace/lib/c/include/adt/list.h
ra29529b r5e6e50b 47 47 * 48 48 * @param name Name of the new statically allocated list. 49 * 49 50 */ 50 51 #define LIST_INITIALIZE(name) link_t name = { \ … … 58 59 * 59 60 * @param link Pointer to link_t structure to be initialized. 61 * 60 62 */ 61 63 static inline void link_initialize(link_t *link) … … 70 72 * 71 73 * @param head Pointer to link_t structure representing head of the list. 74 * 72 75 */ 73 76 static inline void list_initialize(link_t *head) … … 83 86 * @param link Pointer to link_t structure to be added. 84 87 * @param head Pointer to link_t structure representing head of the list. 88 * 85 89 */ 86 90 static inline void list_prepend(link_t *link, link_t *head) … … 98 102 * @param link Pointer to link_t structure to be added. 99 103 * @param head Pointer to link_t structure representing head of the list. 104 * 100 105 */ 101 106 static inline void list_append(link_t *link, link_t *head) … … 123 128 * Remove item from doubly-linked circular list. 124 129 * 125 * @param link Pointer to link_t structure to be removed from the list it is contained in. 130 * @param link Pointer to link_t structure to be removed from the list 131 * it is contained in. 132 * 126 133 */ 127 134 static inline void list_remove(link_t *link) … … 137 144 * 138 145 * @param head Pointer to link_t structure representing head of the list. 146 * 139 147 */ 140 148 static inline int list_empty(link_t *head) … … 142 150 return ((head->next == head) ? 1 : 0); 143 151 } 144 145 152 146 153 /** Split or concatenate headless doubly-linked circular list … … 151 158 * concatenates splitted lists and splits concatenated lists. 152 159 * 153 * @param part1 Pointer to link_t structure leading the first (half of the headless) list. 154 * @param part2 Pointer to link_t structure leading the second (half of the headless) list. 160 * @param part1 Pointer to link_t structure leading the first 161 * (half of the headless) list. 162 * @param part2 Pointer to link_t structure leading the second 163 * (half of the headless) list. 164 * 155 165 */ 156 166 static inline void headless_list_split_or_concat(link_t *part1, link_t *part2) … … 165 175 } 166 176 167 168 177 /** Split headless doubly-linked circular list 169 178 * 170 179 * Split headless doubly-linked circular list. 171 180 * 172 * @param part1 Pointer to link_t structure leading the first half of the headless list. 173 * @param part2 Pointer to link_t structure leading the second half of the headless list. 181 * @param part1 Pointer to link_t structure leading 182 * the first half of the headless list. 183 * @param part2 Pointer to link_t structure leading 184 * the second half of the headless list. 185 * 174 186 */ 175 187 static inline void headless_list_split(link_t *part1, link_t *part2) … … 182 194 * Concatenate two headless doubly-linked circular lists. 183 195 * 184 * @param part1 Pointer to link_t structure leading the first headless list. 185 * @param part2 Pointer to link_t structure leading the second headless list. 196 * @param part1 Pointer to link_t structure leading 197 * the first headless list. 198 * @param part2 Pointer to link_t structure leading 199 * the second headless list. 200 * 186 201 */ 187 202 static inline void headless_list_concat(link_t *part1, link_t *part2) … … 190 205 } 191 206 192 #define list_get_instance(link, type, member) ((type *) (((void *)(link)) - ((void *) &(((type *) NULL)->member)))) 193 194 extern int list_member(const link_t *link, const link_t *head); 195 extern void list_concat(link_t *head1, link_t *head2); 196 extern unsigned int list_count(const link_t *link); 207 #define list_get_instance(link, type, member) \ 208 ((type *) (((void *)(link)) - ((void *) &(((type *) NULL)->member)))) 209 210 #define list_foreach(list, iterator) \ 211 for (link_t *iterator = (list).next; \ 212 iterator != &(list); iterator = iterator->next) 213 214 extern int list_member(const link_t *, const link_t *); 215 extern void list_concat(link_t *, link_t *); 216 extern unsigned int list_count(const link_t *); 197 217 198 218 #endif -
uspace/lib/c/include/adt/measured_strings.h
ra29529b r5e6e50b 61 61 extern measured_string_t *measured_string_create_bulk(const uint8_t *, size_t); 62 62 extern measured_string_t *measured_string_copy(measured_string_t *); 63 63 64 extern int measured_strings_receive(measured_string_t **, uint8_t **, size_t); 64 65 extern int measured_strings_reply(const measured_string_t *, size_t); -
uspace/lib/c/include/as.h
ra29529b r5e6e50b 54 54 } 55 55 56 extern void *as_area_create(void * address, size_t size, int flags);57 extern int as_area_resize(void * address, size_t size, int flags);58 extern int as_area_change_flags(void * address, int flags);59 extern int as_area_destroy(void * address);60 extern void *set_maxheapsize(size_t mhs);61 extern void * as_get_mappable_page(size_t sz);62 extern int as_get_physical_mapping(void * address, uintptr_t *frame);56 extern void *as_area_create(void *, size_t, unsigned int); 57 extern int as_area_resize(void *, size_t, unsigned int); 58 extern int as_area_change_flags(void *, unsigned int); 59 extern int as_area_destroy(void *); 60 extern void *set_maxheapsize(size_t); 61 extern void * as_get_mappable_page(size_t); 62 extern int as_get_physical_mapping(void *, uintptr_t *); 63 63 64 64 #endif -
uspace/lib/c/include/assert.h
ra29529b r5e6e50b 40 40 * 41 41 * If NDEBUG is not set, the assert() macro 42 * evaluates expr and if it is false prints 42 * evaluates expr and if it is false prints 43 43 * error message and terminate program. 44 44 * … … 47 47 */ 48 48 49 #include <stdio.h>50 #include <stdlib.h>51 52 49 #ifndef NDEBUG 53 50 54 51 #define assert(expr) \ 55 52 do { \ 56 if (!(expr)) { \ 57 printf("Assertion failed (%s) at file '%s', " \ 58 "line %d.\n", #expr, __FILE__, __LINE__); \ 59 abort(); \ 60 } \ 53 if (!(expr)) \ 54 assert_abort(#expr, __FILE__, __LINE__); \ 61 55 } while (0) 62 56 … … 67 61 #endif /* NDEBUG */ 68 62 63 extern void assert_abort(const char *, const char *, unsigned int) 64 __attribute__((noreturn)); 65 69 66 #endif 70 67 -
uspace/lib/c/include/entry_point.h
ra29529b r5e6e50b 1 1 /* 2 * Copyright (c) 20 06 Jakub Jermar2 * Copyright (c) 2011 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 27 27 */ 28 28 29 /** @addtogroup sparc64mm29 /** @addtogroup libc 30 30 * @{ 31 31 */ … … 33 33 */ 34 34 35 #ifndef KERN_sparc64_CACHE_H_36 #define KERN_sparc64_CACHE_H_35 #ifndef LIBC_ENTRY_POINT_H_ 36 #define LIBC_ENTRY_POINT_H_ 37 37 38 #include <mm/page.h> 39 #include <mm/frame.h> 38 /* Defined in arch/ARCH/src/entryjmp.[c|s] */ 39 void entry_point_jmp(void *, void *); 40 40 41 41 #endif -
uspace/lib/c/include/errno.h
ra29529b r5e6e50b 39 39 #include <fibril.h> 40 40 41 #define errno _errno41 #define errno (*(__errno())) 42 42 43 extern int _errno;43 extern int *__errno(void) __attribute__((const)); 44 44 45 45 #define EMFILE (-18) -
uspace/lib/c/include/event.h
ra29529b r5e6e50b 39 39 40 40 extern int event_subscribe(event_type_t, sysarg_t); 41 extern int event_unmask(event_type_t); 41 42 42 43 #endif -
uspace/lib/c/include/fibril.h
ra29529b r5e6e50b 70 70 int (*func)(void *); 71 71 tcb_t *tcb; 72 72 73 73 struct fibril *clean_after_me; 74 74 int retval; 75 75 int flags; 76 76 77 77 fibril_owner_info_t *waits_for; 78 78 } fibril_t; -
uspace/lib/c/include/fibril_synch.h
ra29529b r5e6e50b 36 36 #define LIBC_FIBRIL_SYNCH_H_ 37 37 38 #include <async.h>39 38 #include <fibril.h> 40 39 #include <adt/list.h> 41 40 #include <libarch/tls.h> 42 41 #include <sys/time.h> 42 #include <bool.h> 43 43 44 44 typedef struct { 45 fibril_owner_info_t oi; /*Keep this the first thing. */45 fibril_owner_info_t oi; /**< Keep this the first thing. */ 46 46 int counter; 47 47 link_t waiters; … … 64 64 65 65 typedef struct { 66 fibril_owner_info_t oi; /*Keep this the first thing. */66 fibril_owner_info_t oi; /**< Keep this the first thing. */ 67 67 unsigned writers; 68 68 unsigned readers; -
uspace/lib/c/include/loader/pcb.h
ra29529b r5e6e50b 72 72 /** Pointer to ELF dynamic section of the program. */ 73 73 void *dynamic; 74 /** Pointer to dynamic linker state structure (runtime_env_t). */ 75 void *rtld_runtime; 74 76 } pcb_t; 75 77 -
uspace/lib/c/include/macros.h
ra29529b r5e6e50b 39 39 #define max(a, b) ((a) > (b) ? (a) : (b)) 40 40 41 #define SIZE2KB(size) ((size) >> 10) 42 #define SIZE2MB(size) ((size) >> 20) 43 44 #define KB2SIZE(kb) ((kb) << 10) 45 #define MB2SIZE(mb) ((mb) << 20) 41 #define KiB2SIZE(kb) ((kb) << 10) 42 #define MiB2SIZE(mb) ((mb) << 20) 46 43 47 44 #define STRING(arg) STRING_ARG(arg) -
uspace/lib/c/include/str.h
ra29529b r5e6e50b 89 89 extern int str_size_t(const char *, char **, unsigned int, bool, size_t *); 90 90 91 extern void order_suffix(const uint64_t val, uint64_t *rv, char *suffix); 91 extern void order_suffix(const uint64_t, uint64_t *, char *); 92 extern void bin_order_suffix(const uint64_t, uint64_t *, const char **, bool); 92 93 93 94 /*
Note:
See TracChangeset
for help on using the changeset viewer.
