-
Notifications
You must be signed in to change notification settings - Fork 0
/
packages.scm
176 lines (139 loc) · 4.12 KB
/
packages.scm
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
;;; Copyright (c) 2006 by Eric Knauel. See file COPYING.
;;; enum-sets
;;; #########
(define-interface enum-sets-interface
(export (define-enum-set-type :syntax)
enum-set->list
enum-set-member?
enum-set=?
enum-set-union
enum-set-intersection
enum-set-negation))
(define-interface enum-sets-internal-interface
(export enum-set-has-type?
enum-set?
enum-set-type
enum-set->integer
integer->enum-set))
(define-structures ((enum-sets enum-sets-interface)
(enum-sets-internal enum-sets-internal-interface))
(open scheme define-record-types
finite-types
bitwise
util
signals
external-calls)
(optimize auto-integrate)
(files enum-set))
;;; srfi-42-byte-vectors
;;; ####################
(define-structure srfi-42-byte-vectors
(export (byte-vector-ec :syntax)
(:byte-vector :syntax))
(open scheme srfi-42
byte-vectors)
(files bytevec-42))
;;; utils
;;; #####
(define-structure mysql-utils
(export string->byte-vector
byte-vector->string
mod2+ mod5+ mod2*
floor-int)
(open scheme
srfi-42 srfi-42-byte-vectors
ascii)
(files util))
;;; mysql-connection
;;; ################
(define-interface mysql-connection-interface
(export open-tcp-connection
write-string
force-output))
;;; The mysql-connection module for the scsh API
(define-structure mysql-connection-scsh mysql-connection-interface
(open scheme-with-scsh
srfi-23)
(files net-scsh))
;;; The mysql-connection module for the Scheme 48 API
;;;
;;; Comment out the definition for mysql-connection-scsh if you are
;;; using Scheme 48 since there isn't a scheme-with-scsh module in
;;; Scheme 48. And vice versa: scsh doesn't have i/o nor sockets.
(define-structure mysql-connection-s48 mysql-connection-interface
(open scheme
srfi-42
i/o sockets)
(files net-s48))
(define mysql-connection mysql-connection-scsh)
;;; mysql-low
;;; #########
(define-interface mysql-low-interface
(export connection? open-mysql-tcp-connection
read-packet print-packet
write-packet
(client-option :syntax)
client-option? client-options client-option-name
standard-client-options
make-option-set option-set?
read-server-greeting greeting?
greeting-protocol-ver greeting-server-ver
greeting-thread-id greeting-salt greeting-capabilities
greeting-charset greeting-status greeting-rest-salt
make-client-auth-message
make-old-password-message
(field-type :syntax)
field-type? field-type-elements field-type-name
(charset :syntax)
charset? charset-elements charset-name
(status-code :syntax)
status-code? status-codes status-code-name
make-status-code-set status-code-set?
(command :syntax)
command? commands command-name
make-command-message
ok-packet? parse-ok-packet
ok-packet-affected-rows ok-packet-insert-id
ok-packet-server-status ok-packet-warning-count
ok-packet-message
error-packet? parse-error-packet
error-packet-errno error-packet-sql-state
error-packet-message
eof-packet? parse-eof-packet
eof-packet-warning-count eof-packet-status-flags
old-style-eof-packet?
parse-result-set-header-packet
field-packet? parse-field-packet
field-packet-catalog field-packet-db
field-packet-table field-packet-org-table
field-packet-name field-packet-org-name
field-packet-charset field-packet-length
field-packet-type field-packet-flags
field-packet-decimals field-packet-default
row-packet? parse-row-packet
row-packet-columns
parse-tabular-response
read/parse-response))
(define-structure mysql-low
mysql-low-interface
(open scheme
mysql-connection
define-record-types
finite-types enum-sets enum-sets-internal
ascii bitwise byte-vectors
mysql-utils sha1
srfi-42 srfi-42-byte-vectors
srfi-11 srfi-23 srfi-28)
(files mysql))
;;; sha1
;;; ####
(define-interface sha1-interface
(export sha1-hash-string
sha1-hash-byte-vector
hash-value->byte-vector))
(define-structure sha1 sha1-interface
(open scheme
bitwise byte-vectors ascii
mysql-utils
srfi-28)
(files sha1))