htslib 0.0.10 → 0.2.1

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,296 +2,299 @@
2
2
 
3
3
  module HTS
4
4
  module LibHTS
5
-
6
- =begin
7
-
8
- attach_function \
9
- :cram_fd_get_header,
10
- [CramFd],
11
- SamHdr.by_ref
12
-
13
- attach_function \
14
- :cram_fd_set_header,
15
- [CramFd, SamHdr.by_ref],
16
- :void
17
-
18
- attach_function \
19
- :cram_fd_get_version,
20
- [CramFd],
21
- :int
22
-
23
- attach_function \
24
- :cram_fd_set_version,
25
- [CramFd, :int],
26
- :void
27
-
28
- attach_function \
29
- :cram_major_vers,
30
- [CramFd],
31
- :int
32
-
33
- attach_function \
34
- :cram_minor_vers,
35
- [CramFd],
36
- :int
37
-
38
- attach_function \
39
- :cram_fd_get_fp,
40
- [CramFd],
41
- HFile.by_ref
42
-
43
- attach_function \
44
- :cram_fd_set_fp,
45
- [CramFd, HFile],
46
- :void
47
-
48
- attach_function \
49
- :cram_container_get_length,
50
- [CramContainer],
51
- :int32
52
-
53
- attach_function \
54
- :cram_container_set_length,
55
- [CramContainer, :int32],
56
- :void
57
-
58
- attach_function \
59
- :cram_container_get_num_blocks,
60
- [CramContainer],
61
- :int32
62
-
63
- attach_function \
64
- :cram_container_set_num_blocks,
65
- [CramContainer, :int32],
66
- :void
67
-
68
- attach_function \
69
- :cram_container_get_landmarks,
70
- [CramContainer, :int32],
71
- :pointer
72
-
73
- attach_function \
74
- :cram_container_set_landmarks,
75
- [CramContainer, :Int32, :pointer],
76
- :void
77
-
78
- attach_function \
79
- :cram_container_is_empty,
80
- [CramFd],
81
- :int
82
-
83
- attach_function \
84
- :cram_block_get_content_id,
85
- [CramBlock],
86
- :int32
87
-
88
- attach_function \
89
- :cram_block_get_comp_size,
90
- [CramBlock],
91
- :int32
92
-
93
- attach_function \
94
- :cram_block_get_uncomp_size,
95
- [CramBlock],
96
- :int32
97
-
98
- attach_function \
99
- :cram_block_get_crc32,
100
- [CramBlock],
101
- :int32
102
-
103
- attach_function \
104
- :cram_block_get_data,
105
- [CramBlock],
106
- :pointer
107
-
108
- attach_function \
109
- :cram_block_get_content_type,
110
- [CramBlock],
111
- CramContentType # ?
112
-
113
- attach_function \
114
- :cram_block_set_content_id,
115
- [CramBlock, :int32],
116
- :void
117
-
118
- attach_function \
119
- :cram_block_set_comp_size,
120
- [CramBlock, :int32],
121
- :void
122
-
123
- attach_function \
124
- :cram_block_set_uncomp_size,
125
- [CramBlock, :int32],
126
- :void
127
-
128
- attach_function \
129
- :cram_block_set_crc32,
130
- [CramBlock, :int32],
131
- :void
132
-
133
- attach_function \
134
- :cram_block_set_data,
135
- [CramBlock, :pointer],
136
- :void
137
-
138
- attach_function \
139
- :cram_block_append,
140
- [CramBlock, :pointer, :int],
141
- :int
142
-
143
- attach_function \
144
- :cram_block_update_size,
145
- [CramBlock],
146
- :void
147
-
148
- attach_function \
149
- :cram_block_get_offset,
150
- [CramBlock],
151
- :size_t
152
-
153
- attach_function \
154
- :cram_block_set_offset,
155
- [CramBlock, :size_t],
156
- :void
157
-
158
- attach_function \
159
- :cram_block_size,
160
- [CramBlock],
161
- :uint32
162
-
163
- attach_function \
164
- :cram_transcode_rg,
165
- [CramFd, CramFd, CramContainer, :int, :pointer, :pointer],
166
- :int
167
-
168
- attach_function \
169
- :cram_copy_slice,
170
- [CramFd, CramFd, :int32],
171
- :int
172
-
173
- attach_function \
174
- :cram_new_block,
175
- [CramContentType, :int],
176
- CramBlock
177
-
178
- attach_function \
179
- :cram_read_block,
180
- [CramFd],
181
- CramBlock
182
-
183
- attach_function \
184
- :cram_write_block,
185
- [CramFd, CramBlock],
186
- :int
187
-
188
- attach_function \
189
- :cram_free_block,
190
- [CramBlock],
191
- :void
192
-
193
- attach_function \
194
- :cram_uncompress_block,
195
- [CramBlock],
196
- :int
197
-
198
- attach_function \
199
- :cram_compress_block,
200
- [CramFd, CramBlock, CramMetrics, :int, :int],
201
- :int
202
-
203
- attach_function \
204
- :cram_compress_block2,
205
- [CramFd, CramSlice, CramBlock, CramMetrics, :int, :int],
206
- :int
207
-
208
- attach_function \
209
- :cram_new_container,
210
- [:int, :int],
211
- CramContainer
212
-
213
- attach_function \
214
- :cram_free_container,
215
- [CramContainer],
216
- :void
217
-
218
- attach_function \
219
- :cram_read_container,
220
- [CramFd],
221
- CramContainer
222
-
223
- attach_function \
224
- :cram_write_container,
225
- [CramFd, CramContainer],
226
- :int
227
-
228
- attach_function \
229
- :cram_store_container,
230
- [CramFd, CramContainer, :string, :pointer],
231
- :int
232
-
233
- attach_function \
234
- :cram_container_size,
235
- [CramContainer],
236
- :int
237
-
238
- attach_function \
239
- :cram_open,
240
- [:string, :string],
241
- CramFd
242
-
243
- attach_function \
244
- :cram_dopen,
245
- [:pointer, :string, :string],
246
- CramFd
247
-
248
- attach_function \
249
- :cram_close,
250
- [CramFd],
251
- :int
252
-
253
- =end
254
-
255
- attach_function \
256
- :cram_seek,
257
- [:pointer, :off_t, :int], :int # FIXME pointer should be CramFd
258
-
259
- =begin
260
-
261
- attach_function \
262
- :cram_flush,
263
- [CramFd],
264
- :int
265
-
266
- attach_function \
267
- :cram_eof,
268
- [CramFd],
269
- :int
270
-
271
- attach_function \
272
- :cram_set_option,
273
- [CramFd, HtsFmtOption, ...], # vararg!
274
- :int
275
-
276
- attach_function \
277
- :cram_set_voption,
278
- [CramFd, HtsFmtOption, VaList],
279
- :int
280
-
281
- attach_function \
282
- :cram_set_header,
283
- [CramFd, SamHdr.by_ref],
284
- :int
285
-
286
- attach_function \
287
- :cram_check_eof = :cram_check_EOF,
288
- [CramFd], :int
289
-
290
- attach_function \
291
- :cram_get_refs,
292
- [HtsFile],
293
- RefsT # what is RefsT
294
-
295
- =end
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
+
205
+ # attach_function \
206
+ # :cram_compress_block2,
207
+ # %i[cram_fd cram_slice cram_block cram_metrics int int],
208
+ # :int
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
254
+
255
+ attach_function \
256
+ :cram_seek,
257
+ %i[pointer off_t int],
258
+ :int # FIXME: pointer should be :cram_fd
259
+
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
296
299
  end
297
- end
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