Loading...
Searching...
No Matches
sqltypes.f90
1! This file was automatically generated by SWIG (https://www.swig.org).
2! Version 4.2.0
3!
4! Do not make changes to this file unless you know what you are doing - modify
5! the SWIG interface file instead.
6module sqltypes
7 use, intrinsic :: iso_c_binding
8 implicit none
9 private
10
11 ! DECLARATION CONSTRUCTS
12 ! struct struct tagDATE_STRUCT
13 type, bind(C), public :: DATE_STRUCT
14 integer(c_short), public :: year
15 integer(c_short), public :: month
16 integer(c_short), public :: day
17 end type date_struct
18 ! struct struct tagTIME_STRUCT
19 type, bind(C), public :: TIME_STRUCT
20 integer(c_short), public :: hour
21 integer(c_short), public :: minute
22 integer(c_short), public :: second
23 end type time_struct
24 ! struct struct tagTIMESTAMP_STRUCT
25 type, bind(C), public :: TIMESTAMP_STRUCT
26 integer(c_short), public :: year
27 integer(c_short), public :: month
28 integer(c_short), public :: day
29 integer(c_short), public :: hour
30 integer(c_short), public :: minute
31 integer(c_short), public :: second
32 integer(C_INT), public :: fraction
33 end type timestamp_struct
34 ! typedef enum SQLINTERVAL
35 enum, bind(c)
36 enumerator :: SQL_IS_YEAR = 1
37 enumerator :: SQL_IS_MONTH = 2
38 enumerator :: SQL_IS_DAY = 3
39 enumerator :: SQL_IS_HOUR = 4
40 enumerator :: SQL_IS_MINUTE = 5
41 enumerator :: SQL_IS_SECOND = 6
42 enumerator :: SQL_IS_YEAR_TO_MONTH = 7
43 enumerator :: SQL_IS_DAY_TO_HOUR = 8
44 enumerator :: SQL_IS_DAY_TO_MINUTE = 9
45 enumerator :: SQL_IS_DAY_TO_SECOND = 10
46 enumerator :: SQL_IS_HOUR_TO_MINUTE = 11
47 enumerator :: SQL_IS_HOUR_TO_SECOND = 12
48 enumerator :: SQL_IS_MINUTE_TO_SECOND = 13
49 end enum
50 integer, parameter, public :: SQLINTERVAL = kind(sql_is_year)
51 public :: sql_is_year, sql_is_month, sql_is_day, sql_is_hour, sql_is_minute, sql_is_second, sql_is_year_to_month, &
52 sql_is_day_to_hour, sql_is_day_to_minute, sql_is_day_to_second, sql_is_hour_to_minute, sql_is_hour_to_second, &
53 sql_is_minute_to_second
54 ! struct struct tagSQL_YEAR_MONTH
55 type, bind(C), public :: SQL_YEAR_MONTH_STRUCT
56 integer(C_INT), public :: year
57 integer(C_INT), public :: month
59 ! struct struct tagSQL_DAY_SECOND
60 type, bind(C), public :: SQL_DAY_SECOND_STRUCT
61 integer(C_INT), public :: day
62 integer(C_INT), public :: hour
63 integer(C_INT), public :: minute
64 integer(C_INT), public :: second
65 integer(C_INT), public :: fraction
67 integer(C_INT), parameter, public :: SQL_MAX_NUMERIC_LEN = 16_c_int
68 ! struct struct tagSQL_NUMERIC_STRUCT
69 type, bind(C), public :: SQL_NUMERIC_STRUCT
70 character(kind=c_char), public :: precision
71 integer(C_SIGNED_CHAR), public :: scale
72 character(kind=c_char), public :: sign
73 integer(C_SIGNED_CHAR), dimension(16), public :: val
74 end type sql_numeric_struct
75 ! struct struct tagSQLGUID
76 type, bind(C), public :: SQLGUID
77 integer(c_long), public :: Data1
78 integer(c_short), public :: Data2
79 integer(c_short), public :: Data3
80 integer(C_SIGNED_CHAR), dimension(8), public :: Data4
81 end type sqlguid
82
83end module