htslib 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,291 +2,299 @@
2
2
 
3
3
  module HTS
4
4
  module LibHTS
5
- #
6
- # attach_function \
7
- # :cram_fd_get_header,
8
- # [CramFd],
9
- # SamHdr.by_ref
10
- #
11
- # attach_function \
12
- # :cram_fd_set_header,
13
- # [CramFd, SamHdr.by_ref],
14
- # :void
15
- #
16
- # attach_function \
17
- # :cram_fd_get_version,
18
- # [CramFd],
19
- # :int
20
- #
21
- # attach_function \
22
- # :cram_fd_set_version,
23
- # [CramFd, :int],
24
- # :void
25
- #
26
- # attach_function \
27
- # :cram_major_vers,
28
- # [CramFd],
29
- # :int
30
- #
31
- # attach_function \
32
- # :cram_minor_vers,
33
- # [CramFd],
34
- # :int
35
- #
36
- # attach_function \
37
- # :cram_fd_get_fp,
38
- # [CramFd],
39
- # HFile.by_ref
40
- #
41
- # attach_function \
42
- # :cram_fd_set_fp,
43
- # [CramFd, HFile],
44
- # :void
45
- #
46
- # attach_function \
47
- # :cram_container_get_length,
48
- # [CramContainer],
49
- # :int32
50
- #
51
- # attach_function \
52
- # :cram_container_set_length,
53
- # [CramContainer, :int32],
54
- # :void
55
- #
56
- # attach_function \
57
- # :cram_container_get_num_blocks,
58
- # [CramContainer],
59
- # :int32
60
- #
61
- # attach_function \
62
- # :cram_container_set_num_blocks,
63
- # [CramContainer, :int32],
64
- # :void
65
- #
66
- # attach_function \
67
- # :cram_container_get_landmarks,
68
- # [CramContainer, :int32],
69
- # :pointer
70
- #
71
- # attach_function \
72
- # :cram_container_set_landmarks,
73
- # [CramContainer, :Int32, :pointer],
74
- # :void
75
- #
76
- # attach_function \
77
- # :cram_container_is_empty,
78
- # [CramFd],
79
- # :int
80
- #
81
- # attach_function \
82
- # :cram_block_get_content_id,
83
- # [CramBlock],
84
- # :int32
85
- #
86
- # attach_function \
87
- # :cram_block_get_comp_size,
88
- # [CramBlock],
89
- # :int32
90
- #
91
- # attach_function \
92
- # :cram_block_get_uncomp_size,
93
- # [CramBlock],
94
- # :int32
95
- #
96
- # attach_function \
97
- # :cram_block_get_crc32,
98
- # [CramBlock],
99
- # :int32
100
- #
101
- # attach_function \
102
- # :cram_block_get_data,
103
- # [CramBlock],
104
- # :pointer
105
- #
106
- # attach_function \
107
- # :cram_block_get_content_type,
108
- # [CramBlock],
109
- # CramContentType # ?
110
- #
111
- # attach_function \
112
- # :cram_block_set_content_id,
113
- # [CramBlock, :int32],
114
- # :void
115
- #
116
- # attach_function \
117
- # :cram_block_set_comp_size,
118
- # [CramBlock, :int32],
119
- # :void
120
- #
121
- # attach_function \
122
- # :cram_block_set_uncomp_size,
123
- # [CramBlock, :int32],
124
- # :void
125
- #
126
- # attach_function \
127
- # :cram_block_set_crc32,
128
- # [CramBlock, :int32],
129
- # :void
130
- #
131
- # attach_function \
132
- # :cram_block_set_data,
133
- # [CramBlock, :pointer],
134
- # :void
135
- #
136
- # attach_function \
137
- # :cram_block_append,
138
- # [CramBlock, :pointer, :int],
139
- # :int
140
- #
141
- # attach_function \
142
- # :cram_block_update_size,
143
- # [CramBlock],
144
- # :void
145
- #
146
- # attach_function \
147
- # :cram_block_get_offset,
148
- # [CramBlock],
149
- # :size_t
150
- #
151
- # attach_function \
152
- # :cram_block_set_offset,
153
- # [CramBlock, :size_t],
154
- # :void
155
- #
156
- # attach_function \
157
- # :cram_block_size,
158
- # [CramBlock],
159
- # :uint32
160
- #
161
- # attach_function \
162
- # :cram_transcode_rg,
163
- # [CramFd, CramFd, CramContainer, :int, :pointer, :pointer],
164
- # :int
165
- #
166
- # attach_function \
167
- # :cram_copy_slice,
168
- # [CramFd, CramFd, :int32],
169
- # :int
170
- #
171
- # attach_function \
172
- # :cram_new_block,
173
- # [CramContentType, :int],
174
- # CramBlock
175
- #
176
- # attach_function \
177
- # :cram_read_block,
178
- # [CramFd],
179
- # CramBlock
180
- #
181
- # attach_function \
182
- # :cram_write_block,
183
- # [CramFd, CramBlock],
184
- # :int
185
- #
186
- # attach_function \
187
- # :cram_free_block,
188
- # [CramBlock],
189
- # :void
190
- #
191
- # attach_function \
192
- # :cram_uncompress_block,
193
- # [CramBlock],
194
- # :int
195
- #
196
- # attach_function \
197
- # :cram_compress_block,
198
- # [CramFd, CramBlock, CramMetrics, :int, :int],
199
- # :int
200
- #
5
+ typedef :pointer, :cram_fd
6
+ typedef :pointer, :cram_container
7
+ typedef :pointer, :cram_block
8
+ typedef :pointer, :cram_metrics
9
+
10
+ attach_function \
11
+ :cram_fd_get_header,
12
+ [:cram_fd],
13
+ SamHdr.by_ref
14
+
15
+ attach_function \
16
+ :cram_fd_set_header,
17
+ [:cram_fd, SamHdr.by_ref],
18
+ :void
19
+
20
+ attach_function \
21
+ :cram_fd_get_version,
22
+ [:cram_fd],
23
+ :int
24
+
25
+ attach_function \
26
+ :cram_fd_set_version,
27
+ %i[cram_fd int],
28
+ :void
29
+
30
+ attach_function \
31
+ :cram_major_vers,
32
+ [:cram_fd],
33
+ :int
34
+
35
+ attach_function \
36
+ :cram_minor_vers,
37
+ [:cram_fd],
38
+ :int
39
+
40
+ attach_function \
41
+ :cram_fd_get_fp,
42
+ [:cram_fd],
43
+ HFile.by_ref
44
+
45
+ attach_function \
46
+ :cram_fd_set_fp,
47
+ [:cram_fd, HFile],
48
+ :void
49
+
50
+ attach_function \
51
+ :cram_container_get_length,
52
+ [:cram_container],
53
+ :int32
54
+
55
+ attach_function \
56
+ :cram_container_set_length,
57
+ %i[cram_container int32],
58
+ :void
59
+
60
+ attach_function \
61
+ :cram_container_get_num_blocks,
62
+ [:cram_container],
63
+ :int32
64
+
65
+ attach_function \
66
+ :cram_container_set_num_blocks,
67
+ %i[cram_container int32],
68
+ :void
69
+
70
+ attach_function \
71
+ :cram_container_get_landmarks,
72
+ %i[cram_container int32],
73
+ :pointer
74
+
75
+ attach_function \
76
+ :cram_container_set_landmarks,
77
+ %i[cram_container int32 pointer],
78
+ :void
79
+
80
+ attach_function \
81
+ :cram_container_is_empty,
82
+ [:cram_fd],
83
+ :int
84
+
85
+ attach_function \
86
+ :cram_block_get_content_id,
87
+ [:cram_block],
88
+ :int32
89
+
90
+ attach_function \
91
+ :cram_block_get_comp_size,
92
+ [:cram_block],
93
+ :int32
94
+
95
+ attach_function \
96
+ :cram_block_get_uncomp_size,
97
+ [:cram_block],
98
+ :int32
99
+
100
+ attach_function \
101
+ :cram_block_get_crc32,
102
+ [:cram_block],
103
+ :int32
104
+
105
+ attach_function \
106
+ :cram_block_get_data,
107
+ [:cram_block],
108
+ :pointer
109
+
110
+ attach_function \
111
+ :cram_block_get_content_type,
112
+ [:cram_block],
113
+ CramContentType
114
+
115
+ attach_function \
116
+ :cram_block_set_content_id,
117
+ %i[cram_block int32],
118
+ :void
119
+
120
+ attach_function \
121
+ :cram_block_set_comp_size,
122
+ %i[cram_block int32],
123
+ :void
124
+
125
+ attach_function \
126
+ :cram_block_set_uncomp_size,
127
+ %i[cram_block int32],
128
+ :void
129
+
130
+ attach_function \
131
+ :cram_block_set_crc32,
132
+ %i[cram_block int32],
133
+ :void
134
+
135
+ attach_function \
136
+ :cram_block_set_data,
137
+ %i[cram_block pointer],
138
+ :void
139
+
140
+ attach_function \
141
+ :cram_block_append,
142
+ %i[cram_block pointer int],
143
+ :int
144
+
145
+ attach_function \
146
+ :cram_block_update_size,
147
+ [:cram_block],
148
+ :void
149
+
150
+ attach_function \
151
+ :cram_block_get_offset,
152
+ [:cram_block],
153
+ :size_t
154
+
155
+ attach_function \
156
+ :cram_block_set_offset,
157
+ %i[cram_block size_t],
158
+ :void
159
+
160
+ attach_function \
161
+ :cram_block_size,
162
+ [:cram_block],
163
+ :uint32
164
+
165
+ attach_function \
166
+ :cram_transcode_rg,
167
+ %i[cram_fd cram_fd cram_container int pointer pointer],
168
+ :int
169
+
170
+ attach_function \
171
+ :cram_copy_slice,
172
+ %i[cram_fd cram_fd int32],
173
+ :int
174
+
175
+ attach_function \
176
+ :cram_new_block,
177
+ [CramContentType, :int],
178
+ :cram_block
179
+
180
+ attach_function \
181
+ :cram_read_block,
182
+ [:cram_fd],
183
+ :cram_block
184
+
185
+ attach_function \
186
+ :cram_write_block,
187
+ %i[cram_fd cram_block],
188
+ :int
189
+
190
+ attach_function \
191
+ :cram_free_block,
192
+ [:cram_block],
193
+ :void
194
+
195
+ attach_function \
196
+ :cram_uncompress_block,
197
+ [:cram_block],
198
+ :int
199
+
200
+ attach_function \
201
+ :cram_compress_block,
202
+ %i[cram_fd cram_block cram_metrics int int],
203
+ :int
204
+
201
205
  # attach_function \
202
206
  # :cram_compress_block2,
203
- # [CramFd, CramSlice, CramBlock, CramMetrics, :int, :int],
207
+ # %i[cram_fd cram_slice cram_block cram_metrics int int],
204
208
  # :int
205
- #
206
- # attach_function \
207
- # :cram_new_container,
208
- # [:int, :int],
209
- # CramContainer
210
- #
211
- # attach_function \
212
- # :cram_free_container,
213
- # [CramContainer],
214
- # :void
215
- #
216
- # attach_function \
217
- # :cram_read_container,
218
- # [CramFd],
219
- # CramContainer
220
- #
221
- # attach_function \
222
- # :cram_write_container,
223
- # [CramFd, CramContainer],
224
- # :int
225
- #
226
- # attach_function \
227
- # :cram_store_container,
228
- # [CramFd, CramContainer, :string, :pointer],
229
- # :int
230
- #
231
- # attach_function \
232
- # :cram_container_size,
233
- # [CramContainer],
234
- # :int
235
- #
236
- # attach_function \
237
- # :cram_open,
238
- # [:string, :string],
239
- # CramFd
240
- #
241
- # attach_function \
242
- # :cram_dopen,
243
- # [:pointer, :string, :string],
244
- # CramFd
245
- #
246
- # attach_function \
247
- # :cram_close,
248
- # [CramFd],
249
- # :int
250
- #
209
+
210
+ attach_function \
211
+ :cram_new_container,
212
+ %i[int int],
213
+ :cram_container
214
+
215
+ attach_function \
216
+ :cram_free_container,
217
+ [:cram_container],
218
+ :void
219
+
220
+ attach_function \
221
+ :cram_read_container,
222
+ [:cram_fd],
223
+ :cram_container
224
+
225
+ attach_function \
226
+ :cram_write_container,
227
+ %i[cram_fd cram_container],
228
+ :int
229
+
230
+ attach_function \
231
+ :cram_store_container,
232
+ %i[cram_fd cram_container string pointer],
233
+ :int
234
+
235
+ attach_function \
236
+ :cram_container_size,
237
+ [:cram_container],
238
+ :int
239
+
240
+ attach_function \
241
+ :cram_open,
242
+ %i[string string],
243
+ :cram_fd
244
+
245
+ attach_function \
246
+ :cram_dopen,
247
+ %i[pointer string string],
248
+ :cram_fd
249
+
250
+ attach_function \
251
+ :cram_close,
252
+ [:cram_fd],
253
+ :int
251
254
 
252
255
  attach_function \
253
256
  :cram_seek,
254
- %i[pointer off_t int], :int # FIXME: pointer should be CramFd
257
+ %i[pointer off_t int],
258
+ :int # FIXME: pointer should be :cram_fd
255
259
 
256
- #
257
- # attach_function \
258
- # :cram_flush,
259
- # [CramFd],
260
- # :int
261
- #
262
- # attach_function \
263
- # :cram_eof,
264
- # [CramFd],
265
- # :int
266
- #
267
- # attach_function \
268
- # :cram_set_option,
269
- # [CramFd, HtsFmtOption, ...], # vararg!
270
- # :int
271
- #
272
- # attach_function \
273
- # :cram_set_voption,
274
- # [CramFd, HtsFmtOption, VaList],
275
- # :int
276
- #
277
- # attach_function \
278
- # :cram_set_header,
279
- # [CramFd, SamHdr.by_ref],
280
- # :int
281
- #
282
- # attach_function \
283
- # :cram_check_eof = :cram_check_EOF,
284
- # [CramFd], :int
285
- #
286
- # attach_function \
287
- # :cram_get_refs,
288
- # [HtsFile],
289
- # RefsT # what is RefsT
290
- #
260
+ attach_function \
261
+ :cram_flush,
262
+ [:cram_fd],
263
+ :int
264
+
265
+ attach_function \
266
+ :cram_eof,
267
+ [:cram_fd],
268
+ :int
269
+
270
+ attach_function \
271
+ :cram_set_option,
272
+ [:cram_fd, HtsFmtOption, :varargs],
273
+ :int
274
+
275
+ attach_function \
276
+ :cram_set_voption,
277
+ [:cram_fd, HtsFmtOption, :pointer], # va_list
278
+ :int
279
+
280
+ attach_function \
281
+ :cram_set_header,
282
+ [:cram_fd, SamHdr.by_ref],
283
+ :int
284
+
285
+ attach_function \
286
+ :cram_check_EOF,
287
+ [:cram_fd],
288
+ :int
289
+
290
+ attach_function \
291
+ :int32_put_blk,
292
+ %i[cram_block int32_t],
293
+ :int
294
+
295
+ attach_function \
296
+ :cram_get_refs,
297
+ [HtsFile.by_ref],
298
+ :pointer # refs_t
291
299
  end
292
300
  end
@@ -6,13 +6,13 @@ module HTS
6
6
  attach_function \
7
7
  :hopen,
8
8
  %i[string string varargs],
9
- HFILE.by_ref
9
+ HFile.by_ref
10
10
 
11
11
  # Associate a stream with an existing open file descriptor
12
12
  attach_function \
13
13
  :hdopen,
14
14
  %i[int string],
15
- HFILE.by_ref
15
+ HFile.by_ref
16
16
 
17
17
  # Report whether the file name or URL denotes remote storage
18
18
  attach_function \
@@ -29,19 +29,19 @@ module HTS
29
29
  # Flush (for output streams) and close the stream
30
30
  attach_function \
31
31
  :hclose,
32
- [HFILE],
32
+ [HFile],
33
33
  :int
34
34
 
35
35
  # Close the stream, without flushing or propagating errors
36
36
  attach_function \
37
37
  :hclose_abruptly,
38
- [HFILE],
38
+ [HFile],
39
39
  :void
40
40
 
41
41
  # Reposition the read/write stream offset
42
42
  attach_function \
43
43
  :hseek,
44
- [HFILE, :off_t, :int],
44
+ [HFile, :off_t, :int],
45
45
  :off_t
46
46
 
47
47
  # Report the current stream offset
@@ -55,37 +55,55 @@ module HTS
55
55
  # Read from the stream until the delimiter, up to a maximum length
56
56
  attach_function \
57
57
  :hgetdelim,
58
- [:string, :size_t, :int, HFILE],
58
+ [:string, :size_t, :int, HFile],
59
59
  :ssize_t
60
60
 
61
61
  # Read a line from the stream, up to a maximum length
62
62
  attach_function \
63
63
  :hgets,
64
- [:string, :int, HFILE],
64
+ [:string, :int, HFile],
65
65
  :string
66
66
 
67
67
  # Peek at characters to be read without removing them from buffers
68
68
  attach_function \
69
69
  :hpeek,
70
- [HFILE, :pointer, :size_t],
70
+ [HFile, :pointer, :size_t],
71
71
  :ssize_t
72
72
 
73
73
  # For writing streams, flush buffered output to the underlying stream
74
74
  attach_function \
75
75
  :hflush,
76
- [HFILE],
76
+ [HFile],
77
77
  :int
78
78
 
79
79
  # For hfile_mem: get the internal buffer and it's size from a hfile
80
80
  attach_function \
81
81
  :hfile_mem_get_buffer,
82
- [HFILE, :pointer],
82
+ [HFile, :pointer],
83
83
  :string
84
84
 
85
85
  # For hfile_mem: get the internal buffer and it's size from a hfile.
86
86
  attach_function \
87
87
  :hfile_mem_steal_buffer,
88
- [HFILE, :pointer],
88
+ [HFile, :pointer],
89
89
  :string
90
+
91
+ # Fills out sc_list[] with the list of known URL schemes.
92
+ attach_function \
93
+ :hfile_list_schemes,
94
+ %i[string pointer pointer], # mutable string
95
+ :int
96
+
97
+ # Fills out plist[] with the list of known hFILE plugins.
98
+ attach_function \
99
+ :hfile_list_plugins,
100
+ %i[pointer pointer], # mutable string
101
+ :int
102
+
103
+ # Tests for the presence of a specific hFILE plugin.
104
+ attach_function \
105
+ :hfile_has_plugin,
106
+ [:string],
107
+ :int
90
108
  end
91
109
  end