aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver/hw/nxagent/Millis.c
blob: bde85f090f343cc790eec499ce03f361a40ee16f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
/**************************************************************************/
/*                                                                        */
/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
/*                                                                        */
/* NXAGENT, NX protocol compression and NX extensions to this software    */
/* are copyright of NoMachine. Redistribution and use of the present      */
/* software is allowed according to terms specified in the file LICENSE   */
/* which comes in the source distribution.                                */
/*                                                                        */
/* Check http://www.nomachine.com/licensing.html for applicability.       */
/*                                                                        */
/* NX and NoMachine are trademarks of Medialogic S.p.A.                   */
/*                                                                        */
/* All rights reserved.                                                   */
/*                                                                        */
/**************************************************************************/

#include <time.h>
#include <stdio.h>

#include "Xos.h"
#include "Millis.h"

#ifdef DDXTIME

CARD32 GetTimeInMillis()
{
  struct timeval ts;

  X_GETTIMEOFDAY(&ts);

  return(ts.tv_sec * 1000) + (ts.tv_usec / 1000);
}

#endif

const char *GetTimeAsString()
{
  char *value;

  struct timeval ts;

  X_GETTIMEOFDAY(&ts);

  value = ctime((time_t *) &ts.tv_sec);

  *(value + strlen(value) - 1) = '\0';

  return value;
}

const char *GetTimeInMillisAsString()
{
  char *value;

  char tb[25];

  struct timeval ts;

  X_GETTIMEOFDAY(&ts);

  value = ctime((time_t *) &ts.tv_sec);

  sprintf(tb, "%.8s:%3.3f", value + 11,
              (float) ts.tv_usec / 1000);

  strncpy(value, tb, 24);

  return value;
}