Minor changes on sys_time

A get/set flag determines whether to read or write time.
This commit is contained in:
Bahadir Balban
2008-04-18 01:03:39 +01:00
parent a87914910c
commit 5563cc1c6b
3 changed files with 47 additions and 16 deletions

View File

@@ -99,12 +99,22 @@ void handle_fs_requests(void)
void main(void)
{
struct time_info ti;
printf("\n%s: Started with tid: %d\n", __TASKNAME__, self_tid());
initialise();
wait_pager(PAGER_TID);
if (l4_time(&ti, 0) < 0) {
printf("Reading the time has failed.\n");
} else {
printf("Current time since system started: %u ticks, "
"%u seconds, %u minutes, %u hours, %llu days.\n",
ti.thz, ti.sec, ti.min, ti.hour, ti.day);
}
printf("%s: Listening requests.\n", __TASKNAME__);
while (1) {
handle_fs_requests();

View File

@@ -68,7 +68,17 @@ typedef int (*__l4_kmem_control_t)(unsigned long pfn, int npages, int grant);
extern __l4_kmem_control_t __l4_kmem_control;
int l4_kmem_control(unsigned long pfn, int npages, int grant);
typedef int (*__l4_time_t)(void *time_info, int set);
/* Represents time since epoch, a c0 specific structure. */
struct time_info {
int reader;
u32 thz; /* Ticks in this hertz so far */
u32 sec;
u32 min;
u32 hour;
u64 day;
};
typedef int (*__l4_time_t)(struct time_info *ti, int set);
extern __l4_time_t __l4_time;
int l4_time(void *time_info, int set);