Motr  M0
obj.h File Reference
#include "conf/schema.h"
#include "ha/note.h"
#include "layout/pdclust.h"
#include "lib/protocol.h"
#include "lib/bob.h"
#include "fid/fid.h"
#include "fdmi/filter.h"
#include "fdmi/fdmi.h"
Include dependency graph for obj.h:

Go to the source code of this file.

Data Structures

struct  m0_conf_obj
 
struct  m0_conf_obj_type
 
struct  m0_conf_dir
 
struct  m0_conf_root
 
struct  m0_conf_profile
 
struct  m0_conf_pool
 
struct  m0_conf_pver_subtree
 
struct  m0_conf_pver_formulaic
 
struct  m0_conf_pver
 
struct  m0_conf_objv
 
struct  m0_conf_node
 
struct  m0_conf_process
 
struct  m0_conf_service
 
struct  m0_conf_sdev
 
struct  m0_conf_site
 
struct  m0_conf_rack
 
struct  m0_conf_enclosure
 
struct  m0_conf_controller
 
struct  m0_conf_drive
 
struct  m0_conf_fdmi_flt_grp
 
struct  m0_conf_fdmi_filter
 

Macros

#define __MOTR_CONF_OBJ_H__
 
#define M0_CONF_CAST(ptr, type)   bob_of(ptr, struct type, type ## _cast_field, &type ## _bob)
 
#define m0_conf_dir_cast_field   cd_obj
 
#define m0_conf_root_cast_field   rt_obj
 
#define m0_conf_profile_cast_field   cp_obj
 
#define m0_conf_pool_cast_field   pl_obj
 
#define m0_conf_pver_cast_field   pv_obj
 
#define m0_conf_objv_cast_field   cv_obj
 
#define m0_conf_node_cast_field   cn_obj
 
#define m0_conf_process_cast_field   pc_obj
 
#define m0_conf_service_cast_field   cs_obj
 
#define m0_conf_sdev_cast_field   sd_obj
 
#define m0_conf_site_cast_field   ct_obj
 
#define m0_conf_rack_cast_field   cr_obj
 
#define m0_conf_enclosure_cast_field   ce_obj
 
#define m0_conf_controller_cast_field   cc_obj
 
#define m0_conf_drive_cast_field   ck_obj
 
#define m0_conf_fdmi_filter_cast_field   ff_obj
 
#define m0_conf_fdmi_flt_grp_cast_field   ffg_obj
 
#define M0_CONF_OBJ_TYPES
 
#define X_CONF(name, NAME, _)
 
#define M0_CONF_REL_FIDS
 
#define X_CONF(name, _)   extern const struct m0_fid M0_CONF_ ## name ## _FID;
 

Enumerations

enum  m0_conf_status { M0_CS_MISSING, M0_CS_LOADING, M0_CS_READY }
 
enum  { M0_CONF_OBJ_TYPE_MAX = 256 }
 
enum  {
  M0_CONF_PVER_LVL_SITES = 0, M0_CONF_PVER_LVL_RACKS, M0_CONF_PVER_LVL_ENCLS, M0_CONF_PVER_LVL_CTRLS,
  M0_CONF_PVER_LVL_DRIVES, M0_CONF_PVER_HEIGHT
}
 
enum  m0_conf_pver_kind { M0_CONF_PVER_ACTUAL, M0_CONF_PVER_FORMULAIC, M0_CONF_PVER_VIRTUAL }
 

Functions

void m0_conf_obj_type_register (const struct m0_conf_obj_type *otype)
 
void m0_conf_obj_type_unregister (const struct m0_conf_obj_type *otype)
 
const struct m0_conf_obj_typem0_conf_obj_type (const struct m0_conf_obj *obj)
 
const struct m0_conf_obj_typem0_conf_fid_type (const struct m0_fid *id)
 
const struct m0_fidm0_conf_objx_fid (const struct m0_confx_obj *obj)
 
const struct m0_conf_obj_typem0_conf_objx_type (const struct m0_confx_obj *obj)
 
bool m0_conf_fid_is_valid (const struct m0_fid *fid)
 
M0_INTERNAL bool m0_conf_obj_is_stub (const struct m0_conf_obj *obj)
 
struct m0_conf_objm0_conf_obj_grandparent (const struct m0_conf_obj *obj)
 
M0_INTERNAL const struct m0_conf_obj_typem0_conf_obj_type_next (const struct m0_conf_obj_type *otype)
 
M0_INTERNAL int m0_conf_obj_init (void)
 
M0_INTERNAL void m0_conf_obj_fini (void)
 
M0_INTERNAL void m0_conf_child_adopt (struct m0_conf_obj *parent, struct m0_conf_obj *child)
 

Variables

enum m0_conf_status M0_XCA_DOMAIN
 
M0_CONF_REL_FIDS const struct m0_fid_type M0_CONF_RELFID_TYPE
 
const struct m0_fid M0_CONF_ROOT_FID
 

Macro Definition Documentation

◆ __MOTR_CONF_OBJ_H__

#define __MOTR_CONF_OBJ_H__

Definition at line 24 of file obj.h.