Benny Prijono | 0a749f1 | 2005-10-31 21:02:30 +0000 | [diff] [blame^] | 1 | /* $Header: /pjproject-0.3/pjlib/src/pj/os_timestamp_linux_kernel.c 2 10/29/05 11:51a Bennylp $ */
|
| 2 | /* $Log: /pjproject-0.3/pjlib/src/pj/os_timestamp_linux_kernel.c $
|
| 3 | *
|
| 4 | * 2 10/29/05 11:51a Bennylp
|
| 5 | * Version 0.3-pre2.
|
| 6 | *
|
| 7 | * 1 9/22/05 10:39a Bennylp
|
| 8 | * Created.
|
| 9 | *
|
| 10 | */
|
| 11 | #include <pj/os.h>
|
| 12 | #include <linux/time.h>
|
| 13 |
|
| 14 | #if 0
|
| 15 | PJ_DEF(pj_status_t) pj_get_timestamp(pj_timestamp *ts)
|
| 16 | {
|
| 17 | ts->u32.hi = 0;
|
| 18 | ts->u32.lo = jiffies;
|
| 19 | return 0;
|
| 20 | }
|
| 21 |
|
| 22 | PJ_DEF(pj_status_t) pj_get_timestamp_freq(pj_timestamp *freq)
|
| 23 | {
|
| 24 | freq->u32.hi = 0;
|
| 25 | freq->u32.lo = HZ;
|
| 26 | return 0;
|
| 27 | }
|
| 28 | #elif 0
|
| 29 | PJ_DEF(pj_status_t) pj_get_timestamp(pj_timestamp *ts)
|
| 30 | {
|
| 31 | struct timespec tv;
|
| 32 |
|
| 33 | tv = CURRENT_TIME;
|
| 34 |
|
| 35 | ts->u64 = tv.tv_sec;
|
| 36 | ts->u64 *= NSEC_PER_SEC;
|
| 37 | ts->u64 += tv.tv_nsec;
|
| 38 |
|
| 39 | return PJ_SUCCESS;
|
| 40 | }
|
| 41 |
|
| 42 | PJ_DEF(pj_status_t) pj_get_timestamp_freq(pj_timestamp *freq)
|
| 43 | {
|
| 44 | freq->u32.hi = 0;
|
| 45 | freq->u32.lo = NSEC_PER_SEC;
|
| 46 | return 0;
|
| 47 | }
|
| 48 | #else
|
| 49 | PJ_DEF(pj_status_t) pj_get_timestamp(pj_timestamp *ts)
|
| 50 | {
|
| 51 | struct timeval tv;
|
| 52 |
|
| 53 | do_gettimeofday(&tv);
|
| 54 |
|
| 55 | ts->u64 = tv.tv_sec;
|
| 56 | ts->u64 *= USEC_PER_SEC;
|
| 57 | ts->u64 += tv.tv_usec;
|
| 58 |
|
| 59 | return PJ_SUCCESS;
|
| 60 | }
|
| 61 |
|
| 62 | PJ_DEF(pj_status_t) pj_get_timestamp_freq(pj_timestamp *freq)
|
| 63 | {
|
| 64 | freq->u32.hi = 0;
|
| 65 | freq->u32.lo = USEC_PER_SEC;
|
| 66 | return 0;
|
| 67 | }
|
| 68 |
|
| 69 | #endif
|
| 70 |
|