Changeset 55b1efd in mainline
- Timestamp:
- 2011-08-17T19:56:14Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 6921178
- Parents:
- e6165be
- Location:
- uspace/lib/posix
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/posix/fnmatch.c
re6165be r55b1efd 66 66 #define COLL_ELM_INVALID -1 67 67 68 /** Get collating element matching a string. 69 * 70 * @param str 68 /** 69 * Get collating element matching a string. 70 * 71 * @param str String representation of the element. 71 72 * @return Matching collating element or COLL_ELM_INVALID. 72 73 */ … … 79 80 } 80 81 81 /** Get collating element matching a single character. 82 * 83 * @param c 84 * @return 82 /** 83 * Get collating element matching a single character. 84 * 85 * @param c Character representation of the element. 86 * @return Matching collating element. 85 87 */ 86 88 static coll_elm_t _coll_elm_char(int c) … … 89 91 } 90 92 91 /** Match collating element with a beginning of a string. 92 * 93 * @param elm 94 * @param str 93 /** 94 * Match collating element with a beginning of a string. 95 * 96 * @param elm Collating element to match. 97 * @param str String which beginning should match the element. 95 98 * @return 0 if the element doesn't match, or the number of characters matched. 96 99 */ … … 100 103 } 101 104 102 /** Checks whether a string begins with a collating element in the given range. 103 * Ordering depends on the locale (if locales are supported). 105 /** 106 * Checks whether a string begins with a collating element in the given range. 107 * Ordering depends on the locale (if locales are supported). 104 108 * 105 109 * @param first First element of the range. … … 114 118 } 115 119 116 /** Read a string delimited by [? and ?]. 120 /** 121 * Read a string delimited by [? and ?]. 117 122 * 118 123 * @param pattern Pointer to the string to read from. Its position is moved … … 189 194 }; 190 195 191 /** Compare function for binary search in the _char_classes array. 196 /** 197 * Compare function for binary search in the _char_classes array. 192 198 * 193 * @param key 194 * @param elem 195 * @return 199 * @param key Key of the searched element. 200 * @param elem Element of _char_classes array. 201 * @return Ordering indicator (-1 less than, 0 equal, 1 greater than). 196 202 */ 197 203 static int _class_compare(const void *key, const void *elem) … … 201 207 } 202 208 203 /** Returns whether the given character belongs to the specified character class. 209 /** 210 * Returns whether the given character belongs to the specified character class. 204 211 * 205 212 * @param cname Name of the character class. … … 223 230 } 224 231 225 /** Tries to parse an initial part of the pattern as a character class pattern, 226 * and if successful, matches the beginning of the given string against the class. 232 /** 233 * Tries to parse an initial part of the pattern as a character class pattern, 234 * and if successful, matches the beginning of the given string against the class. 227 235 * 228 236 * @param pattern Pointer to the pattern to match. Must begin with a class … … 248 256 /************** END CHARACTER CLASSES ****************/ 249 257 250 /** Reads the next collating element in the pattern, taking into account 251 * locale (if supported) and flags (see fnmatch()). 258 /** 259 * Reads the next collating element in the pattern, taking into account 260 * locale (if supported) and flags (see fnmatch()). 252 261 * 253 262 * @param pattern Pattern. … … 299 308 } 300 309 301 /** Matches the beginning of the given string against a bracket expression 302 * the pattern begins with. 310 /** 311 * Matches the beginning of the given string against a bracket expression 312 * the pattern begins with. 303 313 * 304 314 * @param pattern Pointer to the beginning of a bracket expression in a pattern. … … 394 404 } 395 405 396 /** Matches a portion of the pattern containing no asterisks (*) against 397 * the given string. 406 /** 407 * Matches a portion of the pattern containing no asterisks (*) against 408 * the given string. 398 409 * 399 410 * @param pattern Pointer to the unmatched portion of the pattern. … … 497 508 } 498 509 499 /** Match string against a pattern. 510 /** 511 * Match string against a pattern. 500 512 * 501 513 * @param pattern Pattern. … … 559 571 } 560 572 561 /** Transform the entire string to lowercase. 573 /** 574 * Transform the entire string to lowercase. 562 575 * 563 576 * @param s Input string. … … 578 591 * Filename pattern matching. 579 592 * 580 * @param pattern 581 * @param string 582 * @param flags 583 * @return 593 * @param pattern Pattern to match the string against. 594 * @param string Matched string. 595 * @param flags Flags altering the matching of special characters 596 * (mainly for dot and slash). 597 * @return Zero if the string matches the pattern, FNM_NOMATCH otherwise. 584 598 */ 585 599 int posix_fnmatch(const char *pattern, const char *string, int flags) -
uspace/lib/posix/locale.c
re6165be r55b1efd 79 79 }; 80 80 81 /** Set program locale. 81 /** 82 * Set program locale. 82 83 * 83 84 * @param category What category to set. … … 95 96 } 96 97 97 /** Return locale-specific information. 98 /** 99 * Return locale-specific information. 98 100 * 99 101 * @return Information about the current locale. … … 105 107 } 106 108 107 /** Duplicate locale object. 109 /** 110 * Duplicate locale object. 108 111 * 109 112 * @param locobj Object to duplicate. … … 125 128 } 126 129 127 /** Free locale object. 130 /** 131 * Free locale object. 128 132 * 129 133 * @param locobj Object to free. … … 136 140 } 137 141 138 /** Create or modify a locale object. 142 /** 143 * Create or modify a locale object. 139 144 * 140 145 * @param category_mask Mask of categories to be set or modified. … … 163 168 } 164 169 165 /** Set locale for the current thread. 170 /** 171 * Set locale for the current thread. 166 172 * 167 173 * @param newloc Locale to use. -
uspace/lib/posix/signal.c
re6165be r55b1efd 136 136 } 137 137 138 /** Just an empty function to get an unique pointer value for comparison. 139 * 140 * @param signo 138 /** 139 * Just an empty function to get an unique pointer value for comparison. 140 * 141 * @param signo Signal number. 141 142 */ 142 143 void __posix_hold_signal_handler(int signo) … … 145 146 } 146 147 147 /** Empty function to be used as ignoring handler. 148 * 149 * @param signo 148 /** 149 * Empty function to be used as ignoring handler. 150 * 151 * @param signo Signal number. 150 152 */ 151 153 void __posix_ignore_signal_handler(int signo) … … 154 156 } 155 157 156 /** Clear the signal set. 158 /** 159 * Clear the signal set. 157 160 * 158 161 * @param set Pointer to the signal set. … … 167 170 } 168 171 169 /** Fill the signal set (i.e. add all signals). 172 /** 173 * Fill the signal set (i.e. add all signals). 170 174 * 171 175 * @param set Pointer to the signal set. … … 180 184 } 181 185 182 /** Add a signal to the set. 186 /** 187 * Add a signal to the set. 183 188 * 184 189 * @param set Pointer to the signal set. … … 194 199 } 195 200 196 /** Delete a signal from the set. 201 /** 202 * Delete a signal from the set. 197 203 * 198 204 * @param set Pointer to the signal set. … … 208 214 } 209 215 210 /** Inclusion test for a signal set. 216 /** 217 * Inclusion test for a signal set. 211 218 * 212 219 * @param set Pointer to the signal set. … … 221 228 } 222 229 223 /** Unsafe variant of the sigaction() function. 224 * Doesn't do any checking of its arguments and 225 * does not deal with thread-safety. 230 /** 231 * Unsafe variant of the sigaction() function. 232 * Doesn't do any checking of its arguments and 233 * does not deal with thread-safety. 226 234 * 227 235 * @param sig … … 243 251 } 244 252 245 /** Sets a new action for the given signal number. 253 /** 254 * Sets a new action for the given signal number. 246 255 * 247 256 * @param sig Signal number to set action for. … … 276 285 } 277 286 278 /** Sets a new handler for the given signal number. 287 /** 288 * Sets a new handler for the given signal number. 279 289 * 280 290 * @param sig Signal number to set handler for. … … 304 314 } signal_queue_item; 305 315 306 /** Queue blocked signal. 316 /** 317 * Queue blocked signal. 307 318 * 308 319 * @param signo Signal number. … … 322 333 323 334 324 /** Executes an action associated with the given signal. 335 /** 336 * Executes an action associated with the given signal. 325 337 * 326 338 * @param signo Signal number. … … 366 378 } 367 379 368 /** Raise all unblocked previously queued signals. 380 /** 381 * Raise all unblocked previously queued signals. 369 382 */ 370 383 static void _dequeue_unblocked_signals() … … 390 403 } 391 404 392 /** Raise a signal for the calling process. 405 /** 406 * Raise a signal for the calling process. 393 407 * 394 408 * @param sig Signal number. … … 409 423 } 410 424 411 /** Raises a signal for a selected process. 425 /** 426 * Raises a signal for a selected process. 412 427 * 413 428 * @param pid PID of the process for which the signal shall be raised. … … 446 461 } 447 462 448 /** Send a signal to a process group. Always fails at the moment because of 449 * lack of this functionality in HelenOS. 463 /** 464 * Send a signal to a process group. Always fails at the moment because of 465 * lack of this functionality in HelenOS. 450 466 * 451 467 * @param pid PID of the process group. … … 459 475 } 460 476 461 /** Outputs information about the signal to the standard error stream. 477 /** 478 * Outputs information about the signal to the standard error stream. 462 479 * 463 480 * @param pinfo SigInfo struct to write. … … 471 488 } 472 489 473 /** Outputs information about the signal to the standard error stream. 490 /** 491 * Outputs information about the signal to the standard error stream. 474 492 * 475 493 * @param signum Signal number. … … 486 504 } 487 505 488 /** Manipulate the signal mask of the calling thread. 506 /** 507 * Manipulate the signal mask of the calling thread. 489 508 * 490 509 * @param how What to do with the mask. … … 525 544 } 526 545 527 /** Manipulate the signal mask of the process. 546 /** 547 * Manipulate the signal mask of the process. 528 548 * 529 549 * @param how What to do with the mask. -
uspace/lib/posix/stdio.h
re6165be r55b1efd 140 140 141 141 #define freopen posix_freopen 142 #define fmemopen posix_fmemopen143 #define open_memstream posix_open_memstream144 142 145 143 #define perror posix_perror -
uspace/lib/posix/time.c
re6165be r55b1efd 51 51 #include "libc/sys/time.h" 52 52 53 // TODO: documentation54 53 // TODO: test everything in this file 55 54 … … 72 71 #define SECS_PER_DAY (SECS_PER_HOUR * HOURS_PER_DAY) 73 72 74 /** Checks whether the year is a leap year. 73 /** 74 * Checks whether the year is a leap year. 75 75 * 76 76 * @param year Year since 1900 (e.g. for 1970, the value is 70). … … 90 90 } 91 91 92 /** Returns how many days there are in the given month of the given year. 93 * Note that year is only taken into account if month is February. 92 /** 93 * Returns how many days there are in the given month of the given year. 94 * Note that year is only taken into account if month is February. 94 95 * 95 96 * @param year Year since 1900 (can be negative). … … 113 114 } 114 115 115 /** For specified year, month and day of month, returns which day of that year 116 * it is. 116 /** 117 * For specified year, month and day of month, returns which day of that year 118 * it is. 117 119 * 118 120 * For example, given date 2011-01-03, the corresponding expression is: … … 134 136 } 135 137 136 /** Integer division that rounds to negative infinity. 137 * Used by some functions in this file. 138 * 139 * @param op1 140 * @param op2 141 * @return 138 /** 139 * Integer division that rounds to negative infinity. 140 * Used by some functions in this file. 141 * 142 * @param op1 Divident. 143 * @param op2 Divisor. 144 * @return Rounded quotient. 142 145 */ 143 146 static time_t _floor_div(time_t op1, time_t op2) … … 150 153 } 151 154 152 /** Modulo that rounds to negative infinity. 153 * Used by some functions in this file. 154 * 155 * @param op1 156 * @param op2 157 * @return 155 /** 156 * Modulo that rounds to negative infinity. 157 * Used by some functions in this file. 158 * 159 * @param op1 Divident. 160 * @param op2 Divisor. 161 * @return Remainder. 158 162 */ 159 163 static time_t _floor_mod(time_t op1, time_t op2) … … 174 178 } 175 179 176 /** Number of days since the Epoch. 177 * Epoch is 1970-01-01, which is also equal to day 0. 180 /** 181 * Number of days since the Epoch. 182 * Epoch is 1970-01-01, which is also equal to day 0. 178 183 * 179 184 * @param year Year (year 1900 = 0, may be negative). … … 189 194 } 190 195 191 /** Seconds since the Epoch. see also _days_since_epoch(). 196 /** 197 * Seconds since the Epoch. see also _days_since_epoch(). 192 198 * 193 199 * @param tm Normalized broken-down time. … … 201 207 } 202 208 203 /** Which day of week the specified date is. 209 /** 210 * Which day of week the specified date is. 204 211 * 205 212 * @param year Year (year 1900 = 0). … … 214 221 } 215 222 216 /** Normalizes the broken-down time and optionally adds specified amount of 217 * seconds. 223 /** 224 * Normalizes the broken-down time and optionally adds specified amount of 225 * seconds. 218 226 * 219 227 * @param tm Broken-down time to normalize. … … 297 305 } 298 306 299 /** Which day the week-based year starts on, relative to the first calendar day. 300 * E.g. if the year starts on December 31st, the return value is -1. 307 /** 308 * Which day the week-based year starts on, relative to the first calendar day. 309 * E.g. if the year starts on December 31st, the return value is -1. 301 310 * 302 311 * @param Year since 1900. … … 309 318 } 310 319 311 /** Returns week-based year of the specified time. 320 /** 321 * Returns week-based year of the specified time. 312 322 * 313 323 * @param tm Normalized broken-down time. … … 329 339 } 330 340 331 /** Week number of the year, assuming weeks start on sunday. 332 * The first Sunday of January is the first day of week 1; 333 * days in the new year before this are in week 0. 341 /** 342 * Week number of the year, assuming weeks start on sunday. 343 * The first Sunday of January is the first day of week 1; 344 * days in the new year before this are in week 0. 334 345 * 335 346 * @param tm Normalized broken-down time. … … 342 353 } 343 354 344 /** Week number of the year, assuming weeks start on monday. 345 * If the week containing January 1st has four or more days in the new year, 346 * then it is considered week 1. Otherwise, it is the last week of the previous 347 * year, and the next week is week 1. Both January 4th and the first Thursday 348 * of January are always in week 1. 355 /** 356 * Week number of the year, assuming weeks start on monday. 357 * If the week containing January 1st has four or more days in the new year, 358 * then it is considered week 1. Otherwise, it is the last week of the previous 359 * year, and the next week is week 1. Both January 4th and the first Thursday 360 * of January are always in week 1. 349 361 * 350 362 * @param tm Normalized broken-down time. … … 366 378 } 367 379 368 /** Week number of the year, assuming weeks start on monday. 369 * The first Monday of January is the first day of week 1; 370 * days in the new year before this are in week 0. 380 /** 381 * Week number of the year, assuming weeks start on monday. 382 * The first Monday of January is the first day of week 1; 383 * days in the new year before this are in week 0. 371 384 * 372 385 * @param tm Normalized broken-down time. … … 385 398 char *posix_tzname[2]; 386 399 387 /** Set timezone conversion information.388 * 400 /** 401 * Set timezone conversion information. 389 402 */ 390 403 void posix_tzset(void) … … 397 410 } 398 411 399 /** Calculate the difference between two times, in seconds. 400 * 401 * @param time1 402 * @param time0 412 /** 413 * Calculate the difference between two times, in seconds. 414 * 415 * @param time1 First time. 416 * @param time0 Second time. 403 417 * @return Time in seconds. 404 418 */ … … 408 422 } 409 423 410 /** This function first normalizes the provided broken-down time 411 * (moves all values to their proper bounds) and then tries to 412 * calculate the appropriate time_t representation. 424 /** 425 * This function first normalizes the provided broken-down time 426 * (moves all values to their proper bounds) and then tries to 427 * calculate the appropriate time_t representation. 413 428 * 414 429 * @param tm Broken-down time. 415 * @return time_t representation of the time, undefined value on overflow 430 * @return time_t representation of the time, undefined value on overflow. 416 431 */ 417 432 time_t posix_mktime(struct posix_tm *tm) … … 424 439 } 425 440 426 /** Converts a time value to a broken-down UTC time. 441 /** 442 * Converts a time value to a broken-down UTC time. 427 443 * 428 444 * @param timer Time to convert. … … 437 453 } 438 454 439 /** Converts a time value to a broken-down UTC time. 455 /** 456 * Converts a time value to a broken-down UTC time. 440 457 * 441 458 * @param timer Time to convert. … … 465 482 } 466 483 467 /** Converts a time value to a broken-down local time. 484 /** 485 * Converts a time value to a broken-down local time. 468 486 * 469 487 * @param timer Time to convert. … … 476 494 } 477 495 478 /** Converts a time value to a broken-down local time. 496 /** 497 * Converts a time value to a broken-down local time. 479 498 * 480 499 * @param timer Time to convert. … … 490 509 } 491 510 492 /** Converts broken-down time to a string in format 493 * "Sun Jan 1 00:00:00 1970\n". (Obsolete) 511 /** 512 * Converts broken-down time to a string in format 513 * "Sun Jan 1 00:00:00 1970\n". (Obsolete) 494 514 * 495 515 * @param timeptr Broken-down time structure. … … 502 522 } 503 523 504 /** Converts broken-down time to a string in format 505 * "Sun Jan 1 00:00:00 1970\n". (Obsolete) 524 /** 525 * Converts broken-down time to a string in format 526 * "Sun Jan 1 00:00:00 1970\n". (Obsolete) 506 527 * 507 528 * @param timeptr Broken-down time structure. … … 534 555 } 535 556 536 /** Equivalent to asctime(localtime(clock)). 557 /** 558 * Equivalent to asctime(localtime(clock)). 537 559 * 538 560 * @param timer Time to convert. … … 548 570 } 549 571 550 /** Reentrant variant of ctime(). 572 /** 573 * Reentrant variant of ctime(). 551 574 * 552 575 * @param timer Time to convert. … … 564 587 } 565 588 566 /** Convert time and date to a string, based on a specified format and 567 * current locale. 589 /** 590 * Convert time and date to a string, based on a specified format and 591 * current locale. 568 592 * 569 593 * @param s Buffer to write string to. … … 755 779 } 756 780 757 /** Get clock resolution. Only CLOCK_REALTIME is supported. 781 /** 782 * Get clock resolution. Only CLOCK_REALTIME is supported. 758 783 * 759 784 * @param clock_id Clock ID. … … 776 801 } 777 802 778 /** Get time. Only CLOCK_REALTIME is supported. 803 /** 804 * Get time. Only CLOCK_REALTIME is supported. 779 805 * 780 806 * @param clock_id ID of the clock to query. 781 807 * @param tp Pointer to the variable where the time is to be written. 782 * @return 808 * @return 0 on success, -1 with errno on failure. 783 809 */ 784 810 int posix_clock_gettime(posix_clockid_t clock_id, struct posix_timespec *tp) … … 800 826 } 801 827 802 /** Set time on a specified clock. As HelenOS doesn't support this yet, 803 * this function always fails. 828 /** 829 * Set time on a specified clock. As HelenOS doesn't support this yet, 830 * this function always fails. 804 831 * 805 832 * @param clock_id ID of the clock to set. … … 825 852 } 826 853 827 /** Sleep on a specified clock. 854 /** 855 * Sleep on a specified clock. 828 856 * 829 857 * @param clock_id ID of the clock to sleep on (only CLOCK_REALTIME supported). … … 855 883 } 856 884 857 /** Get CPU time used since the process invocation. 885 /** 886 * Get CPU time used since the process invocation. 858 887 * 859 888 * @return Consumed CPU cycles by this process or -1 if not available. -
uspace/lib/posix/time.h
re6165be r55b1efd 162 162 #define clock_settime posix_clock_settime 163 163 #define clock_nanosleep posix_clock_nanosleep 164 165 #define timer_create posix_timer_create 166 #define timer_delete posix_timer_delete 167 #define timer_getoverrun posix_timer_getoverrun 168 #define timer_gettime posix_timer_gettime 169 #define timer_settime posix_timer_settime 170 164 171 165 #define clock posix_clock 172 166 #endif
Note:
See TracChangeset
for help on using the changeset viewer.