blob: 06959aa7b51fd637d94400fee6c253cba30242ac [file] [log] [blame]
Bram Moolenaar6e5ea8d2019-01-12 22:47:31 +01001/* blob.c */
2blob_T *blob_alloc(void);
3int rettv_blob_alloc(typval_T *rettv);
4void rettv_blob_set(typval_T *rettv, blob_T *b);
Bram Moolenaar8a7d6542020-01-26 15:56:19 +01005int blob_copy(blob_T *from, typval_T *to);
Bram Moolenaar6e5ea8d2019-01-12 22:47:31 +01006void blob_free(blob_T *b);
7void blob_unref(blob_T *b);
8long blob_len(blob_T *b);
Bram Moolenaara5be9b62019-01-24 12:31:44 +01009int blob_get(blob_T *b, int idx);
Bram Moolenaar51e93322021-04-17 20:44:56 +020010void blob_set(blob_T *blob, int idx, int byte);
11void blob_set_append(blob_T *blob, int idx, int byte);
Bram Moolenaar6e5ea8d2019-01-12 22:47:31 +010012int blob_equal(blob_T *b1, blob_T *b2);
K.Takata43625762022-10-20 13:28:51 +010013int read_blob(FILE *fd, typval_T *rettv, off_T offset, off_T size_arg);
Bram Moolenaar6e5ea8d2019-01-12 22:47:31 +010014int write_blob(FILE *fd, blob_T *blob);
Bram Moolenaar8c8b8bb2019-01-13 17:48:04 +010015char_u *blob2string(blob_T *blob, char_u **tofree, char_u *numbuf);
16blob_T *string2blob(char_u *str);
Bram Moolenaarcfc30232021-04-11 20:26:34 +020017int blob_slice_or_index(blob_T *blob, int is_range, varnumber_T n1, varnumber_T n2, int exclusive, typval_T *rettv);
Bram Moolenaarbd6406f2021-04-14 21:30:06 +020018int check_blob_index(long bloblen, varnumber_T n1, int quiet);
Bram Moolenaar0e3ff192021-04-14 20:35:23 +020019int check_blob_range(long bloblen, varnumber_T n1, varnumber_T n2, int quiet);
Bram Moolenaar68452172021-04-12 21:21:02 +020020int blob_set_range(blob_T *dest, long n1, long n2, typval_T *src);
Yegappan Lakshmananf973eeb2021-12-22 18:19:26 +000021void blob_add(typval_T *argvars, typval_T *rettv);
Sean Dewar80d73952021-08-04 19:25:54 +020022void blob_remove(typval_T *argvars, typval_T *rettv, char_u *arg_errmsg);
Ernie Raele6d40dc2023-03-19 21:23:38 +000023void blob_filter_map(blob_T *blob_arg, filtermap_T filtermap, typval_T *expr, char_u *arg_errmsg, typval_T *rettv);
Yegappan Lakshmananf973eeb2021-12-22 18:19:26 +000024void blob_insert_func(typval_T *argvars, typval_T *rettv);
Bram Moolenaarf1c60d42022-09-22 17:07:00 +010025void blob_reduce(typval_T *argvars, typval_T *expr, typval_T *rettv);
Yegappan Lakshmananf973eeb2021-12-22 18:19:26 +000026void blob_reverse(blob_T *b, typval_T *rettv);
Yegappan Lakshmanan5dfe4672021-09-14 17:54:30 +020027void f_blob2list(typval_T *argvars, typval_T *rettv);
28void f_list2blob(typval_T *argvars, typval_T *rettv);
Bram Moolenaar6e5ea8d2019-01-12 22:47:31 +010029/* vim: set ft=c : */