struct tm *gsiGetGmTime(time_t *theTime)
{
	static struct tm aTimeStruct;
	static struct tm *aRetVal = &aTimeStruct;
	OSCalendarTime aCalTimeStruct;
	
	OSTicksToCalendarTime(*theTime, &aCalTimeStruct);
	
	aRetVal->tm_sec  = aCalTimeStruct.sec;
	aRetVal->tm_min  = aCalTimeStruct.min;
	aRetVal->tm_hour = aCalTimeStruct.hour;
	aRetVal->tm_mday  = aCalTimeStruct.mday;
	aRetVal->tm_mon  = aCalTimeStruct.mon;
	aRetVal->tm_year  = aCalTimeStruct.year - 1900;
	aRetVal->tm_wday  = aCalTimeStruct.wday;
	aRetVal->tm_yday = 0;
	aRetVal->tm_isdst = 0;
	return aRetVal;
}
Beispiel #2
0
int
hello_thread()
{
   int last_tm_sec = -1;
   uint32_t ip = 0;
   WHBLogPrintf("Hello World from a std::thread!");

   if (!nn::ac::GetAssignedAddress(&ip)) {
      WHBLogPrintf("GetAssignedAddress failed!");
   }

   WHBLogPrintf("My IP is: %u.%u.%u.%u",
                (ip >> 24) & 0xFF,
                (ip >> 16) & 0xFF,
                (ip >>  8) & 0xFF,
                (ip >>  0) & 0xFF);

   while(WHBProcIsRunning()) {
      OSCalendarTime tm;
      OSTicksToCalendarTime(OSGetTime(), &tm);

      if (tm.tm_sec != last_tm_sec) {
         WHBLogPrintf("%02d/%02d/%04d %02d:%02d:%02d I'm still here.",
                      tm.tm_mday, tm.tm_mon, tm.tm_year,
                      tm.tm_hour, tm.tm_min, tm.tm_sec);
         last_tm_sec = tm.tm_sec;
      }

      WHBLogConsoleDraw();
      OSSleepTicks(OSMillisecondsToTicks(100));
   }

   WHBLogPrintf("Exiting... good bye.");
   WHBLogConsoleDraw();
   OSSleepTicks(OSMillisecondsToTicks(1000));
   return 0;
}