Changeset 3deb0155 in mainline for uspace/lib
- Timestamp:
- 2013-04-10T19:11:45Z (13 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- dd0c8a0
- Parents:
- 44186b01 (diff), b4f43a1 (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
- Files:
-
- 1 added
- 13 edited
- 1 moved
-
c/arch/ia32/src/setjmp.S (modified) (1 diff)
-
c/generic/adt/hash_table.c (modified) (1 diff)
-
c/generic/async.c (modified) (2 diffs)
-
c/include/mem.h (modified) (1 diff)
-
c/include/setjmp.h (modified) (2 diffs)
-
c/include/sys/types.h (modified) (1 diff)
-
gui/Makefile (modified) (1 diff)
-
gui/canvas.c (added)
-
gui/canvas.h (moved) (moved from kernel/genarch/include/genarch/fb/logo-196x66.h ) (2 diffs)
-
posix/include/posix/fcntl.h (modified) (1 diff)
-
posix/include/posix/float.h (modified) (1 diff)
-
posix/include/posix/limits.h (modified) (1 diff)
-
posix/include/posix/math.h (modified) (1 diff)
-
posix/include/posix/stdio.h (modified) (1 diff)
-
posix/source/math.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/arch/ia32/src/setjmp.S
r44186b01 r3deb0155 35 35 .type setjmp,@function 36 36 setjmp: 37 movl 0(%esp),%eax # save pc value into eax38 movl 4(%esp),%edx # address of the jmp_buf structure to save context to39 40 # save registers to the jmp_buf structure37 movl 0(%esp),%eax # save pc value into eax 38 movl 4(%esp),%edx # address of the jmp_buf structure to save context to 39 40 # save registers to the jmp_buf structure 41 41 CONTEXT_SAVE_ARCH_CORE %edx %eax 42 43 xorl %eax,%eax # set_jmp returns 042 43 xorl %eax,%eax # set_jmp returns 0 44 44 ret 45 45 46 46 .type longjmp,@function 47 47 longjmp: 48 49 movl 4(%esp), %ecx # put address of jmp_buf into ecx 50 movl 8(%esp), %eax # put return value into eax 51 52 # restore registers from the jmp_buf structure 48 movl 4(%esp), %ecx # put address of jmp_buf into ecx 49 movl 8(%esp), %eax # put return value into eax 50 51 # restore registers from the jmp_buf structure 53 52 CONTEXT_RESTORE_ARCH_CORE %ecx %edx 54 55 movl %edx,0(%esp) # put saved pc on stack53 54 movl %edx,0(%esp) # put saved pc on stack 56 55 ret 57 -
uspace/lib/c/generic/adt/hash_table.c
r44186b01 r3deb0155 81 81 * @param init_size Initial desired number of hash table buckets. Pass zero 82 82 * if you want the default initial size. 83 * @param max_keys Maximal number of keys needed to identify an item. 83 * @param max_load The table is resized when the average load per bucket 84 * exceeds this number. Pass zero if you want the default. 84 85 * @param op Hash table operations structure. remove_callback() 85 86 * is optional and can be NULL if no action is to be taken -
uspace/lib/c/generic/async.c
r44186b01 r3deb0155 2090 2090 * @param arg User defined argument. 2091 2091 * @param flags Storage for the received flags. Can be NULL. 2092 * @param dst Destination address space area base. Cannot be NULL. 2092 * @param dst Address of the storage for the destination address space area 2093 * base address. Cannot be NULL. 2093 2094 * 2094 2095 * @return Zero on success or a negative error code from errno.h. … … 2218 2219 * 2219 2220 * @param callid Hash of the IPC_M_DATA_WRITE call to answer. 2220 * @param dst Destination address space area base address. 2221 * @param dst Address of the storage for the destination address space area 2222 * base address. 2221 2223 * 2222 2224 * @return Zero on success or a value from @ref errno.h on failure. -
uspace/lib/c/include/mem.h
r44186b01 r3deb0155 40 40 #define bzero(ptr, len) memset((ptr), 0, (len)) 41 41 42 extern void *memset(void *, int, size_t); 43 extern void *memcpy(void *, const void *, size_t); 42 extern void *memset(void *, int, size_t) 43 __attribute__ ((optimize("-fno-tree-loop-distribute-patterns"))); 44 extern void *memcpy(void *, const void *, size_t) 45 __attribute__ ((optimize("-fno-tree-loop-distribute-patterns"))); 44 46 extern void *memmove(void *, const void *, size_t); 45 47 -
uspace/lib/c/include/setjmp.h
r44186b01 r3deb0155 38 38 #include <libarch/fibril.h> 39 39 40 typedef context_t jmp_buf ;40 typedef context_t jmp_buf[1]; 41 41 42 42 extern int setjmp(jmp_buf env); … … 47 47 /** @} 48 48 */ 49 -
uspace/lib/c/include/sys/types.h
r44186b01 r3deb0155 50 50 typedef volatile uint32_t ioport32_t; 51 51 52 typedef int16_t unaligned_int16_t __attribute__ ((aligned(1))); 53 typedef int32_t unaligned_int32_t __attribute__ ((aligned(1))); 54 typedef int64_t unaligned_int64_t __attribute__ ((aligned(1))); 55 56 typedef uint16_t unaligned_uint16_t __attribute__ ((aligned(1))); 57 typedef uint32_t unaligned_uint32_t __attribute__ ((aligned(1))); 58 typedef uint64_t unaligned_uint64_t __attribute__ ((aligned(1))); 59 52 60 #endif 53 61 -
uspace/lib/gui/Makefile
r44186b01 r3deb0155 35 35 SOURCES = \ 36 36 button.c \ 37 canvas.c \ 37 38 connection.c \ 38 39 grid.c \ -
uspace/lib/gui/canvas.h
r44186b01 r3deb0155 1 1 /* 2 * Copyright (c) 20 08Martin Decky2 * Copyright (c) 2013 Martin Decky 3 3 * All rights reserved. 4 4 * … … 27 27 */ 28 28 29 /** @addtogroup g enarch29 /** @addtogroup gui 30 30 * @{ 31 31 */ 32 /** @file 32 /** 33 * @file 33 34 */ 34 35 35 #ifndef KERN_LOGO_196X66_H_36 #define KERN_LOGO_196X66_H_36 #ifndef GUI_CANVAS_H_ 37 #define GUI_CANVAS_H_ 37 38 38 #define LOGO_WIDTH 196 39 #define LOGO_HEIGHT 66 40 #define LOGO_COLOR 0xffffff 39 #include <stdbool.h> 40 #include <sys/types.h> 41 #include <io/pixel.h> 42 #include <surface.h> 43 #include "widget.h" 41 44 42 #include <typedefs.h> 45 typedef struct { 46 widget_t widget; 47 sysarg_t width; 48 sysarg_t height; 49 surface_t *surface; 50 } canvas_t; 43 51 44 extern uint32_t fb_logo[LOGO_WIDTH * LOGO_HEIGHT]; 52 extern bool init_canvas(canvas_t *, widget_t *, sysarg_t, sysarg_t, 53 surface_t *); 54 extern canvas_t *create_canvas(widget_t *, sysarg_t, sysarg_t, surface_t *); 55 extern void deinit_canvas(canvas_t *); 45 56 46 57 #endif -
uspace/lib/posix/include/posix/fcntl.h
r44186b01 r3deb0155 44 44 #define O_ACCMODE (O_RDONLY | O_WRONLY | O_RDWR) 45 45 46 /* Dummy compatibility flag */ 47 #undef O_NOCTTY 48 #define O_NOCTTY 0 49 46 50 /* fcntl commands */ 47 51 #undef F_DUPFD -
uspace/lib/posix/include/posix/float.h
r44186b01 r3deb0155 36 36 #define POSIX_FLOAT_H_ 37 37 38 /* Empty. Just to satisfy preprocessor. */ 38 /* Rouding direction -1 - unknown */ 39 #define FLT_ROUNDS (-1) 40 41 /* define some standard C constants in terms of GCC built-ins */ 42 #ifdef __GNUC__ 43 #undef DBL_MANT_DIG 44 #define DBL_MANT_DIG __DBL_MANT_DIG__ 45 #undef DBL_MIN_EXP 46 #define DBL_MIN_EXP __DBL_MIN_EXP__ 47 #undef DBL_MAX_EXP 48 #define DBL_MAX_EXP __DBL_MAX_EXP__ 49 #undef DBL_MAX 50 #define DBL_MAX __DBL_MAX__ 51 #undef DBL_MAX_10_EXP 52 #define DBL_MAX_10_EXP __DBL_MAX_10_EXP__ 53 #undef DBL_MIN_10_EXP 54 #define DBL_MIN_10_EXP __DBL_MIN_10_EXP__ 55 #undef DBL_MIN 56 #define DBL_MIN __DBL_MIN__ 57 #undef DBL_DIG 58 #define DBL_DIG __DBL_DIG__ 59 #undef DBL_EPSILON 60 #define DBL_EPSILON __DBL_EPSILON__ 61 #undef FLT_RADIX 62 #define FLT_RADIX __FLT_RADIX__ 63 #endif 39 64 40 65 #endif /* POSIX_FLOAT_H_ */ -
uspace/lib/posix/include/posix/limits.h
r44186b01 r3deb0155 49 49 #define PATH_MAX 256 50 50 51 /* it's probably a safe assumption */ 52 #undef CHAR_BIT 53 #define CHAR_BIT 8 54 51 55 #endif /* POSIX_LIMITS_H_ */ 52 56 -
uspace/lib/posix/include/posix/math.h
r44186b01 r3deb0155 36 36 #define POSIX_MATH_H_ 37 37 38 #ifdef __GNUC__ 39 #define HUGE_VAL (__builtin_huge_val()) 40 #endif 41 38 42 /* Normalization Functions */ 39 43 extern double posix_ldexp(double x, int exp); 40 44 extern double posix_frexp(double num, int *exp); 41 45 46 double posix_fabs(double x); 47 double posix_floor(double x); 48 double posix_modf(double x, double *iptr); 49 double posix_fmod(double x, double y); 50 double posix_pow(double x, double y); 51 double posix_exp(double x); 52 double posix_sqrt(double x); 53 double posix_log(double x); 54 double posix_sin(double x); 55 double posix_cos(double x); 56 double posix_atan2(double y, double x); 57 42 58 #ifndef LIBPOSIX_INTERNAL 43 59 #define ldexp posix_ldexp 44 60 #define frexp posix_frexp 61 62 #define fabs posix_fabs 63 #define floor posix_floor 64 #define modf posix_modf 65 #define fmod posix_fmod 66 #define pow posix_pow 67 #define exp posix_exp 68 #define sqrt posix_sqrt 69 #define log posix_log 70 #define sin posix_sin 71 #define cos posix_cos 72 #define atan2 posix_atan2 45 73 #endif 46 74 -
uspace/lib/posix/include/posix/stdio.h
r44186b01 r3deb0155 61 61 62 62 typedef struct _IO_FILE FILE; 63 64 #ifndef LIBPOSIX_INTERNAL 65 enum _buffer_type { 66 /** No buffering */ 67 _IONBF, 68 /** Line buffering */ 69 _IOLBF, 70 /** Full buffering */ 71 _IOFBF 72 }; 73 #endif 63 74 64 75 extern FILE *stdin; -
uspace/lib/posix/source/math.c
r44186b01 r3deb0155 62 62 } 63 63 64 /** 65 * 66 * @param x 67 * @return 68 */ 69 double posix_cos(double x) 70 { 71 // TODO: Python dependency 72 not_implemented(); 73 } 74 75 /** 76 * 77 * @param x 78 * @param y 79 * @return 80 */ 81 double posix_pow(double x, double y) 82 { 83 // TODO: Python dependency 84 not_implemented(); 85 } 86 87 /** 88 * 89 * @param x 90 * @return 91 */ 92 double posix_floor(double x) 93 { 94 // TODO: Python dependency 95 not_implemented(); 96 } 97 98 /** 99 * 100 * @param x 101 * @return 102 */ 103 double posix_fabs(double x) 104 { 105 // TODO: Python dependency 106 not_implemented(); 107 } 108 109 /** 110 * 111 * @param x 112 * @param iptr 113 * @return 114 */ 115 double posix_modf(double x, double *iptr) 116 { 117 // TODO: Python dependency 118 not_implemented(); 119 } 120 121 /** 122 * 123 * @param x 124 * @param y 125 * @return 126 */ 127 double posix_fmod(double x, double y) 128 { 129 // TODO: Python dependency 130 not_implemented(); 131 } 132 133 /** 134 * 135 * @param x 136 * @return 137 */ 138 double posix_log(double x) 139 { 140 // TODO: Python dependency 141 not_implemented(); 142 } 143 144 /** 145 * 146 * @param x 147 * @param y 148 * @return 149 */ 150 double posix_atan2(double y, double x) 151 { 152 // TODO: Python dependency 153 not_implemented(); 154 } 155 156 /** 157 * 158 * @param x 159 * @return 160 */ 161 double posix_sin(double x) 162 { 163 // TODO: Python dependency 164 not_implemented(); 165 } 166 167 /** 168 * 169 * @param x 170 * @return 171 */ 172 double posix_exp(double x) 173 { 174 // TODO: Python dependency 175 not_implemented(); 176 } 177 178 /** 179 * 180 * @param x 181 * @return 182 */ 183 double posix_sqrt(double x) 184 { 185 // TODO: Python dependency 186 not_implemented(); 187 } 188 64 189 /** @} 65 190 */
Note:
See TracChangeset
for help on using the changeset viewer.
