Changeset 61bfc370 in mainline for uspace/lib/c
- Timestamp:
- 2011-01-07T18:57:55Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- e08a733
- Parents:
- 7c34b28f
- Location:
- uspace/lib/c
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/adt/char_map.c
r7c34b28f r61bfc370 65 65 */ 66 66 static int 67 char_map_add_item(char_map_t *map, const char*identifier, size_t length,67 char_map_add_item(char_map_t *map, const uint8_t *identifier, size_t length, 68 68 const int value) 69 69 { … … 139 139 */ 140 140 int 141 char_map_add(char_map_t *map, const char*identifier, size_t length,141 char_map_add(char_map_t *map, const uint8_t *identifier, size_t length, 142 142 const int value) 143 143 { … … 200 200 */ 201 201 static char_map_t * 202 char_map_find_node(const char_map_t *map, const char*identifier,202 char_map_find_node(const char_map_t *map, const uint8_t *identifier, 203 203 size_t length) 204 204 { … … 241 241 * @return CHAR_MAP_NULL if the key is not assigned a value. 242 242 */ 243 int char_map_exclude(char_map_t *map, const char*identifier, size_t length)243 int char_map_exclude(char_map_t *map, const uint8_t *identifier, size_t length) 244 244 { 245 245 char_map_t *node; … … 269 269 * @return CHAR_MAP_NULL if the key is not assigned a value. 270 270 */ 271 int char_map_find(const char_map_t *map, const char*identifier, size_t length)271 int char_map_find(const char_map_t *map, const uint8_t *identifier, size_t length) 272 272 { 273 273 char_map_t *node; … … 329 329 */ 330 330 int 331 char_map_update(char_map_t *map, const char*identifier, const size_t length,331 char_map_update(char_map_t *map, const uint8_t *identifier, const size_t length, 332 332 const int value) 333 333 { -
uspace/lib/c/generic/adt/measured_strings.c
r7c34b28f r61bfc370 59 59 */ 60 60 measured_string_t * 61 measured_string_create_bulk(const char*string, size_t length)61 measured_string_create_bulk(const uint8_t *string, size_t length) 62 62 { 63 63 measured_string_t *new; … … 68 68 } 69 69 new = (measured_string_t *) malloc(sizeof(measured_string_t) + 70 (sizeof( char) * (length + 1)));70 (sizeof(uint8_t) * (length + 1))); 71 71 if (!new) 72 72 return NULL; 73 73 74 74 new->length = length; 75 new->value = (( char*) new) + sizeof(measured_string_t);75 new->value = ((uint8_t *) new) + sizeof(measured_string_t); 76 76 // append terminating zero explicitly - to be safe 77 77 memcpy(new->value, string, new->length); … … 97 97 new = (measured_string_t *) malloc(sizeof(measured_string_t)); 98 98 if (new) { 99 new->value = ( char*) malloc(source->length + 1);99 new->value = (uint8_t *) malloc(source->length + 1); 100 100 if (new->value) { 101 101 new->length = source->length; … … 131 131 */ 132 132 int 133 measured_strings_receive(measured_string_t **strings, char**data,133 measured_strings_receive(measured_string_t **strings, uint8_t **data, 134 134 size_t count) 135 135 { … … 137 137 size_t index; 138 138 size_t length; 139 char*next;139 uint8_t *next; 140 140 ipc_callid_t callid; 141 141 int rc; … … 311 311 */ 312 312 int 313 measured_strings_return(int phone, measured_string_t **strings, char**data,313 measured_strings_return(int phone, measured_string_t **strings, uint8_t **data, 314 314 size_t count) 315 315 { 316 316 size_t *lengths; 317 317 size_t index; 318 char*next;318 uint8_t *next; 319 319 int rc; 320 320 -
uspace/lib/c/generic/mem.c
r7c34b28f r61bfc370 222 222 /** Compare two memory areas. 223 223 * 224 * @param s1 Pointer to the first area to compare. 225 * @param s2 Pointer to the second area to compare. 226 * @param len Size of the first area in bytes. Both areas must have 227 * the same length. 228 * @return If len is 0, return zero. If the areas match, return 229 * zero. Otherwise return non-zero. 230 */ 231 int bcmp(const char *s1, const char *s2, size_t len) 232 { 233 for (; len && *s1++ == *s2++; len--) 234 ; 224 * @param s1 Pointer to the first area to compare. 225 * @param s2 Pointer to the second area to compare. 226 * @param len Size of the first area in bytes. Both areas must have 227 * the same length. 228 * 229 * @return If len is 0, return zero. If the areas match, return 230 * zero. Otherwise return non-zero. 231 * 232 */ 233 int bcmp(const void *s1, const void *s2, size_t len) 234 { 235 uint8_t *u1 = (uint8_t *) s1; 236 uint8_t *u2 = (uint8_t *) s2; 237 238 for (; (len != 0) && (*u1++ == *u2++); len--); 239 235 240 return len; 236 241 } -
uspace/lib/c/include/adt/char_map.h
r7c34b28f r61bfc370 41 41 42 42 /** Invalid assigned value used also if an entry does not exist. */ 43 #define CHAR_MAP_NULL 43 #define CHAR_MAP_NULL (-1) 44 44 45 45 /** Type definition of the character string to integer map. 46 46 * @see char_map 47 47 */ 48 typedef struct char_map 48 typedef struct char_map char_map_t; 49 49 50 50 /** Character string to integer map item. … … 56 56 struct char_map { 57 57 /** Actually mapped character. */ 58 charc;58 uint8_t c; 59 59 /** Stored integral value. */ 60 60 int value; … … 71 71 extern int char_map_initialize(char_map_t *); 72 72 extern void char_map_destroy(char_map_t *); 73 extern int char_map_exclude(char_map_t *, const char*, size_t);74 extern int char_map_add(char_map_t *, const char*, size_t, const int);75 extern int char_map_find(const char_map_t *, const char*, size_t);76 extern int char_map_update(char_map_t *, const char*, size_t, const int);73 extern int char_map_exclude(char_map_t *, const uint8_t *, size_t); 74 extern int char_map_add(char_map_t *, const uint8_t *, size_t, const int); 75 extern int char_map_find(const char_map_t *, const uint8_t *, size_t); 76 extern int char_map_update(char_map_t *, const uint8_t *, size_t, const int); 77 77 78 78 #endif -
uspace/lib/c/include/adt/generic_char_map.h
r7c34b28f r61bfc370 62 62 }; \ 63 63 \ 64 int name##_add(name##_t *, const char*, const size_t, type *); \64 int name##_add(name##_t *, const uint8_t *, const size_t, type *); \ 65 65 int name##_count(name##_t *); \ 66 66 void name##_destroy(name##_t *); \ 67 void name##_exclude(name##_t *, const char*, const size_t); \68 type *name##_find(name##_t *, const char*, const size_t); \67 void name##_exclude(name##_t *, const uint8_t *, const size_t); \ 68 type *name##_find(name##_t *, const uint8_t *, const size_t); \ 69 69 int name##_initialize(name##_t *); \ 70 70 int name##_is_valid(name##_t *); … … 74 74 * Should follow declaration with the same parameters. 75 75 * 76 * @param[in] name Name of the map. 77 * @param[in] type Inner object type. 76 * @param[in] name Name of the map. 77 * @param[in] type Inner object type. 78 * 78 79 */ 79 80 #define GENERIC_CHAR_MAP_IMPLEMENT(name, type) \ 80 81 GENERIC_FIELD_IMPLEMENT(name##_items, type) \ 81 82 \ 82 int name##_add(name##_t *map, const char*name, const size_t length, \83 int name##_add(name##_t *map, const uint8_t *name, const size_t length, \ 83 84 type *value) \ 84 85 { \ … … 112 113 } \ 113 114 \ 114 void name##_exclude(name##_t *map, const char*name, \115 void name##_exclude(name##_t *map, const uint8_t *name, \ 115 116 const size_t length) \ 116 117 { \ … … 124 125 } \ 125 126 \ 126 type *name##_find(name##_t *map, const char*name, \127 type *name##_find(name##_t *map, const uint8_t *name, \ 127 128 const size_t length) \ 128 129 { \ -
uspace/lib/c/include/adt/measured_strings.h
r7c34b28f r61bfc370 54 54 struct measured_string { 55 55 /** Character string data. */ 56 char*value;56 uint8_t *value; 57 57 /** Character string length. */ 58 58 size_t length; 59 59 }; 60 60 61 extern measured_string_t *measured_string_create_bulk(const char*, size_t);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 extern int measured_strings_receive(measured_string_t **, char**, size_t);63 extern int measured_strings_receive(measured_string_t **, uint8_t **, size_t); 64 64 extern int measured_strings_reply(const measured_string_t *, size_t); 65 extern int measured_strings_return(int, measured_string_t **, char**, size_t);65 extern int measured_strings_return(int, measured_string_t **, uint8_t **, size_t); 66 66 extern int measured_strings_send(int, const measured_string_t *, size_t); 67 67 -
uspace/lib/c/include/mem.h
r7c34b28f r61bfc370 44 44 extern void *memmove(void *, const void *, size_t); 45 45 46 extern int bcmp(const char *, const char*, size_t);46 extern int bcmp(const void *, const void *, size_t); 47 47 48 48 #endif
Note:
See TracChangeset
for help on using the changeset viewer.