Changeset 3375bd4 in mainline for uspace/lib/c/include


Ignore:
Timestamp:
2011-05-17T07:44:17Z (15 years ago)
Author:
Vojtech Horky <vojtechhorky@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
04c418d, 2586860, 5e6e50b
Parents:
72cd53d (diff), 0d8a304 (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.
Message:

Merge mainline changes

Conflicts:
kernel/generic/src/console/console.c

size of klog, taken upstream

uspace/app/klog/klog.c

taken upstream (upstream fixed the broken output on huge load)

uspace/app/tester/Makefile
uspace/app/tester/tester.c
uspace/app/tester/tester.h

merged without problems

uspace/lib/c/include/as.h

merged without problems (upstream use bare declarations)

Also needed to fix some missing includes.

Location:
uspace/lib/c/include
Files:
9 added
12 edited
1 moved

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/include/adt/fifo.h

    r72cd53d r3375bd4  
    5151typedef unsigned long fifo_index_t;
    5252
    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; \
    5959        } name
    6060
  • uspace/lib/c/include/adt/list.h

    r72cd53d r3375bd4  
    4747 *
    4848 * @param name Name of the new statically allocated list.
     49 *
    4950 */
    5051#define LIST_INITIALIZE(name)  link_t name = { \
     
    5859 *
    5960 * @param link Pointer to link_t structure to be initialized.
     61 *
    6062 */
    6163static inline void link_initialize(link_t *link)
     
    7072 *
    7173 * @param head Pointer to link_t structure representing head of the list.
     74 *
    7275 */
    7376static inline void list_initialize(link_t *head)
     
    8386 * @param link Pointer to link_t structure to be added.
    8487 * @param head Pointer to link_t structure representing head of the list.
     88 *
    8589 */
    8690static inline void list_prepend(link_t *link, link_t *head)
     
    98102 * @param link Pointer to link_t structure to be added.
    99103 * @param head Pointer to link_t structure representing head of the list.
     104 *
    100105 */
    101106static inline void list_append(link_t *link, link_t *head)
     
    123128 * Remove item from doubly-linked circular list.
    124129 *
    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 *
    126133 */
    127134static inline void list_remove(link_t *link)
     
    137144 *
    138145 * @param head Pointer to link_t structure representing head of the list.
     146 *
    139147 */
    140148static inline int list_empty(link_t *head)
     
    142150        return ((head->next == head) ? 1 : 0);
    143151}
    144 
    145152
    146153/** Split or concatenate headless doubly-linked circular list
     
    151158 * concatenates splitted lists and splits concatenated lists.
    152159 *
    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 *
    155165 */
    156166static inline void headless_list_split_or_concat(link_t *part1, link_t *part2)
     
    165175}
    166176
    167 
    168177/** Split headless doubly-linked circular list
    169178 *
    170179 * Split headless doubly-linked circular list.
    171180 *
    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 *
    174186 */
    175187static inline void headless_list_split(link_t *part1, link_t *part2)
     
    182194 * Concatenate two headless doubly-linked circular lists.
    183195 *
    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 *
    186201 */
    187202static inline void headless_list_concat(link_t *part1, link_t *part2)
     
    190205}
    191206
    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
     214extern int list_member(const link_t *, const link_t *);
     215extern void list_concat(link_t *, link_t *);
     216extern unsigned int list_count(const link_t *);
    197217
    198218#endif
  • uspace/lib/c/include/adt/measured_strings.h

    r72cd53d r3375bd4  
    6161extern measured_string_t *measured_string_create_bulk(const uint8_t *, size_t);
    6262extern measured_string_t *measured_string_copy(measured_string_t *);
     63
    6364extern int measured_strings_receive(measured_string_t **, uint8_t **, size_t);
    6465extern int measured_strings_reply(const measured_string_t *, size_t);
  • uspace/lib/c/include/as.h

    r72cd53d r3375bd4  
    5454}
    5555
    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);
     56extern void *as_area_create(void *, size_t, unsigned int);
     57extern int as_area_resize(void *, size_t, unsigned int);
     58extern int as_area_change_flags(void *, unsigned int);
     59extern int as_area_destroy(void *);
     60extern void *set_maxheapsize(size_t);
     61extern void * as_get_mappable_page(size_t);
     62extern int as_get_physical_mapping(void *, uintptr_t *);
    6363
    6464#endif
  • uspace/lib/c/include/assert.h

    r72cd53d r3375bd4  
    4040 *
    4141 * 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
    4343 * error message and terminate program.
    4444 *
     
    4747 */
    4848
    49 #include <stdio.h>
    50 #include <stdlib.h>
    51 
    5249#ifndef NDEBUG
    5350
    5451#define assert(expr) \
    5552        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__); \
    6155        } while (0)
    6256
     
    6761#endif /* NDEBUG */
    6862
     63extern void assert_abort(const char *, const char *, unsigned int)
     64    __attribute__((noreturn));
     65
    6966#endif
    7067
  • uspace/lib/c/include/entry_point.h

    r72cd53d r3375bd4  
    11/*
    2  * Copyright (c) 2006 Jakub Jermar
     2 * Copyright (c) 2011 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    2727 */
    2828
    29 /** @addtogroup sparc64mm       
     29/** @addtogroup libc
    3030 * @{
    3131 */
     
    3333 */
    3434
    35 #ifndef KERN_sparc64_CACHE_H_
    36 #define KERN_sparc64_CACHE_H_
     35#ifndef LIBC_ENTRY_POINT_H_
     36#define LIBC_ENTRY_POINT_H_
    3737
    38 #include <mm/page.h>
    39 #include <mm/frame.h>
     38/* Defined in arch/ARCH/src/entryjmp.[c|s] */
     39void entry_point_jmp(void *, void *);
    4040
    4141#endif
  • uspace/lib/c/include/errno.h

    r72cd53d r3375bd4  
    3939#include <fibril.h>
    4040
    41 #define errno _errno
     41#define errno  (*(__errno()))
    4242
    43 extern int _errno;
     43extern int *__errno(void) __attribute__((const));
    4444
    4545#define EMFILE        (-18)
  • uspace/lib/c/include/event.h

    r72cd53d r3375bd4  
    3939
    4040extern int event_subscribe(event_type_t, sysarg_t);
     41extern int event_unmask(event_type_t);
    4142
    4243#endif
  • uspace/lib/c/include/fibril.h

    r72cd53d r3375bd4  
    7070        int (*func)(void *);
    7171        tcb_t *tcb;
    72 
     72       
    7373        struct fibril *clean_after_me;
    7474        int retval;
    7575        int flags;
    76 
     76       
    7777        fibril_owner_info_t *waits_for;
    7878} fibril_t;
  • uspace/lib/c/include/fibril_synch.h

    r72cd53d r3375bd4  
    3636#define LIBC_FIBRIL_SYNCH_H_
    3737
    38 #include <async.h>
    3938#include <fibril.h>
    4039#include <adt/list.h>
    4140#include <libarch/tls.h>
    4241#include <sys/time.h>
     42#include <bool.h>
    4343
    4444typedef struct {
    45         fibril_owner_info_t oi;         /* Keep this the first thing. */
     45        fibril_owner_info_t oi;  /**< Keep this the first thing. */
    4646        int counter;
    4747        link_t waiters;
     
    6464
    6565typedef struct {
    66         fibril_owner_info_t oi; /* Keep this the first thing. */
     66        fibril_owner_info_t oi;  /**< Keep this the first thing. */
    6767        unsigned writers;
    6868        unsigned readers;
  • uspace/lib/c/include/loader/pcb.h

    r72cd53d r3375bd4  
    7272        /** Pointer to ELF dynamic section of the program. */
    7373        void *dynamic;
     74        /** Pointer to dynamic linker state structure (runtime_env_t). */
     75        void *rtld_runtime;
    7476} pcb_t;
    7577
  • uspace/lib/c/include/macros.h

    r72cd53d r3375bd4  
    3939#define max(a, b)  ((a) > (b) ? (a) : (b))
    4040
    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)
    4643
    4744#define STRING(arg)      STRING_ARG(arg)
  • uspace/lib/c/include/str.h

    r72cd53d r3375bd4  
    8989extern int str_size_t(const char *, char **, unsigned int, bool, size_t *);
    9090
    91 extern void order_suffix(const uint64_t val, uint64_t *rv, char *suffix);
     91extern void order_suffix(const uint64_t, uint64_t *, char *);
     92extern void bin_order_suffix(const uint64_t, uint64_t *, const char **, bool);
    9293
    9394/*
Note: See TracChangeset for help on using the changeset viewer.