behaviors.c

Functions to handle specific DDL behaviors.

These functions are called during parsing when the behavior declaration is encountered.  They are passed a pointer to a dcxt_s which provides all the necessary context in the property tree and a pointer together with the behavior set and name.  A single function typically handles multiple closely related behaviors and/or equivalent behaviors from several behaviorsets.

adding tasks for subsequent actions

Most behaviors can be processed immediately they are encountered in the parse.  At this point the property to which the behavior applies and all its ancestors are defined.  However, the content of the current property and details of its value are not yet known.  If more information is requiredd in order to complete the processing a task can be registered using <add_proptask> which will ba called when the end tag of the property is eached, by which time the content will also have been parsed.

Property flag behaviors

The dmp property structure includes flags for access permissions read, write and event.  This is extended by defining flags for a number of access qualifiers such as persistent and similar behaviors.

setbvflg()

void setbvflg(struct dcxt_s *dcxp,
enum netflags_e flags)

Set property flags.

  • Called by multiple behavior actions.
  • Only makes sense on net properties.

persistent_bva()

void persistent_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
behaviorpersistent
behaviorsetsacnbase, acnbase-r2

constant_bva()

void constant_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
behavior nameconstant
behaviorsetsacnbase, acnbase-r2

volatile_bva()

void volatile_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
behavior namevolatile
behaviorsetsacnbase, acnbase-r2

ordered_bva()

void ordered_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
behavior nameordered
behaviorsetsacnbase, acnbase-r2

measure_bva()

void measure_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
behavior namescalar
behaviorsetsacnbase, acnbase-r2

cyclic_bva()

void cyclic_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
behavior namecyclic
behaviorsetsacnbase, acnbase-r2

Property encoding behaviors

Behaviors that define basic property encodings {integer, string, etc.}

setptype

void setptype(struct dcxt_s *dcxp,
enum proptype_e type,
unsigned int sizes)

Set encoding type

  • only make sense for network properties

type_boolean_bva()

void type_boolean_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
behavior nametype.boolean
behaviorsetsacnbase, acnbase-r2

type_sint_bva()

void type_sint_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
behavior nametype.signed.integer, type.sint
behaviorsetsacnbase, acnbase-r2

type_uint_bva()

void type_uint_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
behavior nametype.unsigned.integer, type.uint
behaviorsetsacnbase, acnbase-r2

type_float_bva()

void type_float_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
behavior nametype.float
behaviorsetsacnbase, acnbase-r2

type_char_UTF_8_bva()

void type_char_UTF_8_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
behavior nametype.char.UTF-8
behaviorsetsacnbase, acnbase-r2

type_char_UTF_16_bva()

void type_char_UTF_16_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
behavior nametype.char.UTF-16
behaviorsetsacnbase, acnbase-r2

type_char_UTF_32_bva()

void type_char_UTF_32_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
behavior nametype.char.UTF-32
behaviorsetsacnbase, acnbase-r2

type_string_bva()

void type_string_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
behavior nametype.string
behaviorsetsacnbase, acnbase-r2

type_enum_bva()

void type_enum_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
behavior nametype.enumeration, type.enum
behaviorsetsacnbase, acnbase-r2

type_fixBinob_bva()

void type_fixBinob_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
behavior nametype.fixBinob
behaviorsetsacnbase, acnbase-r2

type_varBinob_bva()

void type_varBinob_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
behavior nametype.varBinob
behaviorsetsacnbase, acnbase-r2

binObject_bva()

void binObject_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
behavior namebinObject
behaviorsetsacnbase, acnbase-r2

UUID_bva()

void UUID_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
behavior nameUUID
behaviorsetsacnbase, acnbase-r2

DCID_bva()

void DCID_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
behavior nameDCID
behaviorsetsacnbase, acnbase-r2

CID_bva()

void CID_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
behavior nameCID
behaviorsetsacnbase, acnbase-r2

languagesetID_bva()

void languagesetID_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
behavior namelanguagesetID
behaviorsetsacnbase, acnbase-r2

behaviorsetID_bva()

void behaviorsetID_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
behavior namebehaviorsetID
behaviorsetsacnbase, acnbase-r2

type_bitmap_bva()

void type_bitmap_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
behavior nametype.bitmap
behaviorsetsacnbase-r2

ISOdate_bva()

void ISOdate_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
behavior nameISOdate
behaviorsetsacnbase, acnbase-r2

URI_bva()

void URI_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
behavior nameURI
behaviorsetsacnbase, acnbase-r2
void setbvflg(struct dcxt_s *dcxp,
enum netflags_e flags)
Set property flags.
void persistent_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
void constant_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
void volatile_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
void ordered_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
void measure_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
void cyclic_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
void setptype(struct dcxt_s *dcxp,
enum proptype_e type,
unsigned int sizes)
Set encoding type
void type_boolean_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
void type_sint_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
void type_uint_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
void type_float_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
void type_char_UTF_8_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
void type_char_UTF_16_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
void type_char_UTF_32_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
void type_string_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
void type_enum_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
void type_fixBinob_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
void type_varBinob_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
void binObject_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
void UUID_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
void DCID_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
void CID_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
void languagesetID_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
void behaviorsetID_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
void type_bitmap_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
void ISOdate_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
void URI_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
Close