Motr  M0
m0_fop_type Struct Reference

#include <fop.h>

Collaboration diagram for m0_fop_type:
Collaboration graph

Data Fields

const char * ft_name
 
struct m0_tlink ft_linkage
 
const struct m0_fop_type_opsft_ops
 
const struct m0_xcode_typeft_xt
 
struct m0_fom_type ft_fom_type
 
struct m0_rpc_item_type ft_rpc_item_type
 
uint64_t ft_magix
 

Detailed Description

Fop format

A fop type contains as its part a "fop format". A fop format is a description of structure of data in a fop instance. Fop format describes fop instance data structure as a tree of fields. Leaves of this tree are fields of "atomic" types (VOID, BYTE, U32 and U64) and non-leaf nodes are "aggregation fields": record, union, sequence or typedef.

The key point of fop formats is that data structure description can be analysed at run-time by using the facilities provided by xcode module (

See also
Xcode).

Fop formats are introduced in "description files", usually having .ff extension. See xcode/ff2c/sample.ff for an example. fop format description file defines instances of struct m0_xcode_type which are generated by ff2c compiler

During build process, "description file" is processed by ff2c compiler. xcode provides interfaces to iterate over hierarchy of such descriptors and to associate user defined state with types and fields.

See also
xcode/ff2c/ff2c Type of a file system operation.

There is an instance of m0_fop_type for "make directory" command, an instance for "write", "truncate", etc.

Definition at line 223 of file fop.h.

Field Documentation

◆ ft_fom_type

struct m0_fom_type ft_fom_type

State machine for this fop type

Definition at line 232 of file fop.h.

◆ ft_linkage

struct m0_tlink ft_linkage

Linkage into a list of all known fop types.

Definition at line 227 of file fop.h.

◆ ft_magix

uint64_t ft_magix

Definition at line 236 of file fop.h.

◆ ft_name

const char* ft_name

Operation name.

Definition at line 225 of file fop.h.

◆ ft_ops

const struct m0_fop_type_ops* ft_ops

Definition at line 228 of file fop.h.

◆ ft_rpc_item_type

struct m0_rpc_item_type ft_rpc_item_type

The rpc_item_type associated with rpc_item embedded with this fop.

Definition at line 235 of file fop.h.

◆ ft_xt

const struct m0_xcode_type* ft_xt

Xcode type representing this fop type.

Definition at line 230 of file fop.h.


The documentation for this struct was generated from the following file: