26 #ifndef __MOTR_DTM_HISTORY_H__ 27 #define __MOTR_DTM_HISTORY_H__
const struct m0_dtm_history_type_ops * hit_ops
struct m0_dtm_update * h_known
M0_INTERNAL void m0_dtm_controlh_fini(struct m0_dtm_controlh *ch)
M0_INTERNAL const struct m0_dtm_history_type * m0_dtm_history_type_find(struct m0_dtm *dtm, uint8_t id)
struct m0_dtm_remote * h_rem
M0_INTERNAL void m0_dtm_controlh_init(struct m0_dtm_controlh *ch, struct m0_dtm *dtm)
struct m0_cookie h_remcookie
M0_INTERNAL void m0_dtm_controlh_close(struct m0_dtm_controlh *ch)
void(* hio_persistent)(struct m0_dtm_history *history)
struct m0_dtm_update * h_reint
M0_INTERNAL void m0_dtm_history_fini(struct m0_dtm_history *history)
int(* hio_update)(struct m0_dtm_history *history, uint8_t id, struct m0_dtm_update *update)
struct m0_dtm_oper ch_clop
struct m0_dtm_history ch_history
M0_INTERNAL void m0_dtm_history_type_register(struct m0_dtm *dtm, const struct m0_dtm_history_type *ht)
M0_INTERNAL void m0_dtm_history_undo(struct m0_dtm_history *history, m0_dtm_ver_t upto)
struct m0_dtm_update * h_persistent
M0_INTERNAL void m0_dtm_history_persistent(struct m0_dtm_history *history, m0_dtm_ver_t upto)
M0_INTERNAL int m0_dtm_history_unpack(struct m0_dtm *dtm, const struct m0_dtm_history_id *id, struct m0_dtm_history **out)
struct m0_dtm_update * h_reset
M0_INTERNAL void m0_dtm_history_close(struct m0_dtm_history *history)
M0_INTERNAL bool m0_dtm_controlh_update_is_close(const struct m0_dtm_update *update)
struct m0_tlink h_exclink
M0_INTERNAL void m0_dtm_history_reset(struct m0_dtm_history *history, m0_dtm_ver_t since)
struct m0_dtm_update ch_clup_rem
M0_INTERNAL void m0_dtm_history_type_deregister(struct m0_dtm *dtm, const struct m0_dtm_history_type *ht)
M0_INTERNAL void m0_dtm_history_add_close(struct m0_dtm_history *history, struct m0_dtm_oper *oper, struct m0_dtm_update *cupdate)
M0_INTERNAL void m0_dtm_history_pack(const struct m0_dtm_history *history, struct m0_dtm_history_id *id)
struct m0_tlink h_catlink
M0_INTERNAL bool m0_dtm_history_invariant(const struct m0_dtm_history *history)
int(* hito_find)(struct m0_dtm *dtm, const struct m0_dtm_history_type *ht, const struct m0_uint128 *id, struct m0_dtm_history **out)
const struct m0_dtm_history_type * hio_type
M0_INTERNAL void m0_dtm_controlh_fuse_close(struct m0_dtm_update *update)
M0_INTERNAL int m0_dtm_controlh_update(struct m0_dtm_history *history, uint8_t id, struct m0_dtm_update *update)
M0_INTERNAL void m0_dtm_history_update_get(const struct m0_dtm_history *history, enum m0_dtm_up_rule rule, struct m0_dtm_update_data *data)
M0_INTERNAL void m0_dtm_history_init(struct m0_dtm_history *history, struct m0_dtm *dtm)
struct m0_dtm_update * h_undo
struct m0_dtm_update ch_clup
void(* hio_fixed)(struct m0_dtm_history *history)
M0_INTERNAL void m0_dtm_controlh_add(struct m0_dtm_controlh *ch, struct m0_dtm_oper *oper)
M0_INTERNAL void m0_dtm_history_add_nop(struct m0_dtm_history *history, struct m0_dtm_oper *oper, struct m0_dtm_update *cupdate)
const struct m0_dtm_history_ops * h_ops