blob: 0b7cbd3a86fc1238edb52dfcec5cd5ce80edd588 [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 Moolenaar6e5ea8d2019-01-12 22:47:31 +010010void blob_set(blob_T *b, int idx, char_u c);
11int blob_equal(blob_T *b1, blob_T *b2);
12int read_blob(FILE *fd, blob_T *blob);
13int write_blob(FILE *fd, blob_T *blob);
Bram Moolenaar8c8b8bb2019-01-13 17:48:04 +010014char_u *blob2string(blob_T *blob, char_u **tofree, char_u *numbuf);
15blob_T *string2blob(char_u *str);
Bram Moolenaarcfc30232021-04-11 20:26:34 +020016int blob_slice_or_index(blob_T *blob, int is_range, varnumber_T n1, varnumber_T n2, int exclusive, typval_T *rettv);
Bram Moolenaar0e3ff192021-04-14 20:35:23 +020017int check_blob_index(long bloblen, varnumber_T n1, int is_range, int quiet);
18int check_blob_range(long bloblen, varnumber_T n1, varnumber_T n2, int quiet);
Bram Moolenaar68452172021-04-12 21:21:02 +020019int blob_set_range(blob_T *dest, long n1, long n2, typval_T *src);
Bram Moolenaar9f9fe372019-07-27 23:12:12 +020020void blob_remove(typval_T *argvars, typval_T *rettv);
Bram Moolenaar6e5ea8d2019-01-12 22:47:31 +010021/* vim: set ft=c : */