• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*[clinic input]
2 preserve
3 [clinic start generated code]*/
4 
5 #if defined(HAVE_CLOCK_GETTIME)
6 
7 PyDoc_STRVAR(time_clock_gettime__doc__,
8 "clock_gettime($module, clk_id, /)\n"
9 "--\n"
10 "\n"
11 "Return the time of the specified clock clk_id as a float.");
12 
13 #define TIME_CLOCK_GETTIME_METHODDEF    \
14     {"clock_gettime", (PyCFunction)time_clock_gettime, METH_O, time_clock_gettime__doc__},
15 
16 static PyObject *
17 time_clock_gettime_impl(PyObject *module, clockid_t clk_id);
18 
19 static PyObject *
time_clock_gettime(PyObject * module,PyObject * arg)20 time_clock_gettime(PyObject *module, PyObject *arg)
21 {
22     PyObject *return_value = NULL;
23     clockid_t clk_id;
24 
25     if (!time_clockid_converter(arg, &clk_id)) {
26         goto exit;
27     }
28     return_value = time_clock_gettime_impl(module, clk_id);
29 
30 exit:
31     return return_value;
32 }
33 
34 #endif /* defined(HAVE_CLOCK_GETTIME) */
35 
36 #if defined(HAVE_CLOCK_GETTIME)
37 
38 PyDoc_STRVAR(time_clock_gettime_ns__doc__,
39 "clock_gettime_ns($module, clk_id, /)\n"
40 "--\n"
41 "\n"
42 "Return the time of the specified clock clk_id as nanoseconds (int).");
43 
44 #define TIME_CLOCK_GETTIME_NS_METHODDEF    \
45     {"clock_gettime_ns", (PyCFunction)time_clock_gettime_ns, METH_O, time_clock_gettime_ns__doc__},
46 
47 static PyObject *
48 time_clock_gettime_ns_impl(PyObject *module, clockid_t clk_id);
49 
50 static PyObject *
time_clock_gettime_ns(PyObject * module,PyObject * arg)51 time_clock_gettime_ns(PyObject *module, PyObject *arg)
52 {
53     PyObject *return_value = NULL;
54     clockid_t clk_id;
55 
56     if (!time_clockid_converter(arg, &clk_id)) {
57         goto exit;
58     }
59     return_value = time_clock_gettime_ns_impl(module, clk_id);
60 
61 exit:
62     return return_value;
63 }
64 
65 #endif /* defined(HAVE_CLOCK_GETTIME) */
66 
67 #ifndef TIME_CLOCK_GETTIME_METHODDEF
68     #define TIME_CLOCK_GETTIME_METHODDEF
69 #endif /* !defined(TIME_CLOCK_GETTIME_METHODDEF) */
70 
71 #ifndef TIME_CLOCK_GETTIME_NS_METHODDEF
72     #define TIME_CLOCK_GETTIME_NS_METHODDEF
73 #endif /* !defined(TIME_CLOCK_GETTIME_NS_METHODDEF) */
74 /*[clinic end generated code: output=b589a2132aa9df47 input=a9049054013a1b77]*/
75