⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 obj40.h

📁 reiser4progs ReiserFS V4 ReiserFs官方已经关闭 这个是1.0.6 2006-02-22发布的 给需要的朋友
💻 H
字号:
/* Copyright (C) 2001-2005 by Hans Reiser, licensing governed by   reiser4progs/COPYING.      obj40.h -- reiser4 file plugins common structures. */#ifndef OBJ40_H#define OBJ40_H#include <sys/stat.h>#ifndef ENABLE_MINIMAL#  include <time.h>#  include <unistd.h>#endif#include "reiser4/plugin.h"extern reiser4_core_t *obj40_core;#define STAT_PLACE(o) \        (&((o)->info.start))/* Returns the file position offset. */static inline uint64_t obj40_offset(reiser4_object_t *obj) {	return objcall(&obj->position, get_offset);}extern errno_t obj40_fini(reiser4_object_t *obj);extern errno_t obj40_update(reiser4_object_t *obj);extern uint64_t obj40_get_size(reiser4_object_t *obj);extern bool_t obj40_valid_item(reiser4_place_t *place);extern errno_t obj40_fetch_item(reiser4_place_t *place);extern lookup_t obj40_belong(reiser4_place_t *place, reiser4_key_t *key);extern lookup_t obj40_find_item(reiser4_object_t *obj, 				reiser4_key_t *key, 				lookup_bias_t bias, 				coll_func_t func, 				coll_hint_t *hint, 				reiser4_place_t *place);extern int64_t obj40_read(reiser4_object_t *obj, trans_hint_t *hint,			  void *buff, uint64_t off, uint64_t count);extern errno_t obj40_read_ext(reiser4_object_t *obj, rid_t id, void *data);extern errno_t obj40_load_stat(reiser4_object_t *obj, stat_hint_t *hint);extern errno_t obj40_save_stat(reiser4_object_t *obj, stat_hint_t *hint);extern errno_t obj40_open(reiser4_object_t *obj);extern errno_t obj40_seek(reiser4_object_t *obj, uint64_t offset);extern errno_t obj40_reset(reiser4_object_t *obj);typedef errno_t (*obj_func_t) (reiser4_object_t *, void *);extern lookup_t obj40_update_body(reiser4_object_t *obj, 				  obj_func_t adjust_func);extern lookup_t obj40_next_item(reiser4_object_t *obj);#ifndef ENABLE_MINIMALextern errno_t obj40_write_ext(reiser4_object_t *obj, rid_t id, void *data);extern errno_t obj40_touch(reiser4_object_t *obj, int64_t size, int64_t bytes);extern uint64_t obj40_extmask(reiser4_place_t *sd);extern uint16_t obj40_get_mode(reiser4_object_t *obj);extern int64_t  obj40_get_nlink(reiser4_object_t *obj, int update);extern uint32_t obj40_get_atime(reiser4_object_t *obj);extern uint32_t obj40_get_mtime(reiser4_object_t *obj);extern uint64_t obj40_get_bytes(reiser4_object_t *obj);extern errno_t obj40_clobber(reiser4_object_t *obj);extern errno_t obj40_link(reiser4_object_t *obj);extern errno_t obj40_unlink(reiser4_object_t *obj);extern bool_t obj40_linked(reiser4_object_t *obj);extern errno_t obj40_set_mode(reiser4_object_t *obj, uint16_t mode);extern errno_t obj40_set_size(reiser4_object_t *obj, uint64_t size);extern errno_t obj40_set_nlink(reiser4_object_t *obj, uint32_t nlink);extern errno_t obj40_set_atime(reiser4_object_t *obj, uint32_t atime);extern errno_t obj40_set_mtime(reiser4_object_t *obj, uint32_t mtime);extern errno_t obj40_set_bytes(reiser4_object_t *obj, uint64_t bytes);extern errno_t obj40_layout(reiser4_object_t *obj,			    region_func_t region_func,			    obj_func_t obj_func,			    void *data);extern errno_t obj40_metadata(reiser4_object_t *obj,			      place_func_t place_func,			      void *data);extern errno_t obj40_traverse(reiser4_object_t *obj, 			      place_func_t place_func, 			      obj_func_t obj_func,			      void *data);extern errno_t obj40_remove(reiser4_object_t *obj, 			    reiser4_place_t *place,			    trans_hint_t *hint);extern int64_t obj40_insert(reiser4_object_t *obj, 			    reiser4_place_t *place,			    trans_hint_t *hint, 			    uint8_t level);extern int64_t obj40_write(reiser4_object_t *obj, 			   trans_hint_t *hint,			   void *buff,			   uint64_t off, 			   uint64_t count, 			   reiser4_item_plug_t *item_plug, 			   place_func_t func,			   void *data);extern int64_t obj40_convert(reiser4_object_t *obj, conv_hint_t *hint);extern int64_t obj40_cut(reiser4_object_t *obj, 			 trans_hint_t *hint, 			 uint64_t off, uint64_t count,			 region_func_t func, void *data);extern int64_t obj40_truncate(reiser4_object_t *obj, uint64_t n, 			      reiser4_item_plug_t *item_plug);extern errno_t obj40_stat_unix_init(stat_hint_t *stat, 				    sdhint_unix_t *unixh, 				    uint64_t bytes, 				    uint64_t rdev);extern errno_t obj40_stat_lw_init(reiser4_object_t *obj, 				  stat_hint_t *stat, 				  sdhint_lw_t *lwh, 				  uint64_t size,  				  uint32_t nlink, 				  uint16_t mode);extern errno_t obj40_inherit(object_info_t *info, object_info_t *parent);extern errno_t obj40_create(reiser4_object_t *obj, object_hint_t *hint);extern errno_t obj40_create_stat(reiser4_object_t *obj, 				 uint64_t size, uint64_t bytes, 				 uint64_t rdev, uint32_t nlink, 				 uint16_t mode, char *path);#endif#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -