htslib 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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