Implement basic node.js binding (not published on npm yet)

This commit is contained in:
Vitaliy Filippov
2024-07-14 10:58:38 +03:00
parent 26426dd95e
commit a4dfc220ab
14 changed files with 1187 additions and 23 deletions
+22
View File
@@ -384,6 +384,28 @@ int vitastor_c_inode_get_readonly(void *handle)
return watch->cfg.readonly;
}
uint64_t vitastor_c_inode_get_parent_id(void *handle)
{
inode_watch_t *watch = (inode_watch_t*)handle;
return watch->cfg.parent_id;
}
char* vitastor_c_inode_get_meta(void *handle)
{
inode_watch_t *watch = (inode_watch_t*)handle;
if (watch->cfg.meta.is_null())
{
return NULL;
}
return strdup(watch->cfg.meta.dump().c_str());
}
uint64_t vitastor_c_inode_get_mod_revision(void *handle)
{
inode_watch_t *watch = (inode_watch_t*)handle;
return watch->cfg.mod_revision;
}
uint32_t vitastor_c_inode_get_immediate_commit(vitastor_c *client, uint64_t inode_num)
{
auto pool_it = client->cli->st_cli.pool_config.find(INODE_POOL(inode_num));
+3
View File
@@ -69,6 +69,9 @@ void vitastor_c_watch_inode(vitastor_c *client, char *image, VitastorIOHandler c
void vitastor_c_close_watch(vitastor_c *client, void *handle);
uint64_t vitastor_c_inode_get_size(void *handle);
uint64_t vitastor_c_inode_get_num(void *handle);
uint64_t vitastor_c_inode_get_parent_id(void *handle);
char* vitastor_c_inode_get_meta(void *handle);
uint64_t vitastor_c_inode_get_mod_revision(void *handle);
uint32_t vitastor_c_inode_get_block_size(vitastor_c *client, uint64_t inode_num);
uint32_t vitastor_c_inode_get_bitmap_granularity(vitastor_c *client, uint64_t inode_num);
int vitastor_c_inode_get_readonly(void *handle);