Dynamic ZNPNode_ZPP_Constraint_obj::__Field(const ::String &inName,bool inCallProp)
{
    switch(inName.length) {
    case 3:
        if (HX_FIELD_EQ(inName,"elt") ) {
            return elt;
        }
        break;
    case 4:
        if (HX_FIELD_EQ(inName,"elem") ) {
            return elem_dyn();
        }
        if (HX_FIELD_EQ(inName,"free") ) {
            return free_dyn();
        }
        if (HX_FIELD_EQ(inName,"next") ) {
            return next;
        }
        break;
    case 5:
        if (HX_FIELD_EQ(inName,"alloc") ) {
            return alloc_dyn();
        }
        break;
    case 8:
        if (HX_FIELD_EQ(inName,"zpp_pool") ) {
            return zpp_pool;
        }
    }
    return super::__Field(inName,inCallProp);
}
Ejemplo n.º 2
0
Dynamic ZPP_AABBPair_obj::__Field(const ::String &inName,hx::PropertyAccess inCallProp)
{
	switch(inName.length) {
	case 2:
		if (HX_FIELD_EQ(inName,"n1") ) { return n1; }
		if (HX_FIELD_EQ(inName,"n2") ) { return n2; }
		if (HX_FIELD_EQ(inName,"id") ) { return id; }
		if (HX_FIELD_EQ(inName,"di") ) { return di; }
		break;
	case 3:
		if (HX_FIELD_EQ(inName,"arb") ) { return arb; }
		break;
	case 4:
		if (HX_FIELD_EQ(inName,"next") ) { return next; }
		if (HX_FIELD_EQ(inName,"free") ) { return free_dyn(); }
		break;
	case 5:
		if (HX_FIELD_EQ(inName,"first") ) { return first; }
		if (HX_FIELD_EQ(inName,"alloc") ) { return alloc_dyn(); }
		break;
	case 8:
		if (HX_FIELD_EQ(inName,"sleeping") ) { return sleeping; }
	}
	return super::__Field(inName,inCallProp);
}
Ejemplo n.º 3
0
Dynamic ZPP_SimplifyV_obj::__Field(const ::String &inName,bool inCallProp)
{
	switch(inName.length) {
	case 1:
		if (HX_FIELD_EQ(inName,"x") ) { return x; }
		if (HX_FIELD_EQ(inName,"y") ) { return y; }
		break;
	case 3:
		if (HX_FIELD_EQ(inName,"get") ) { return get_dyn(); }
		break;
	case 4:
		if (HX_FIELD_EQ(inName,"next") ) { return next; }
		if (HX_FIELD_EQ(inName,"prev") ) { return prev; }
		if (HX_FIELD_EQ(inName,"flag") ) { return flag; }
		if (HX_FIELD_EQ(inName,"free") ) { return free_dyn(); }
		break;
	case 5:
		if (HX_FIELD_EQ(inName,"alloc") ) { return alloc_dyn(); }
		break;
	case 6:
		if (HX_FIELD_EQ(inName,"forced") ) { return forced; }
		break;
	case 8:
		if (HX_FIELD_EQ(inName,"zpp_pool") ) { return zpp_pool; }
	}
	return super::__Field(inName,inCallProp);
}
Ejemplo n.º 4
0
Dynamic ZNPNode_ZPP_Compound_obj::__Field(const ::String &inName,hx::PropertyAccess inCallProp)
{
	switch(inName.length) {
	case 3:
		if (HX_FIELD_EQ(inName,"elt") ) { return elt; }
		break;
	case 4:
		if (HX_FIELD_EQ(inName,"next") ) { return next; }
		if (HX_FIELD_EQ(inName,"free") ) { return free_dyn(); }
		if (HX_FIELD_EQ(inName,"elem") ) { return elem_dyn(); }
		break;
	case 5:
		if (HX_FIELD_EQ(inName,"alloc") ) { return alloc_dyn(); }
	}
	return super::__Field(inName,inCallProp);
}
Ejemplo n.º 5
0
Dynamic ZPP_MarchSpan_obj::__Field(const ::String &inName,hx::PropertyAccess inCallProp)
{
	switch(inName.length) {
	case 3:
		if (HX_FIELD_EQ(inName,"out") ) { return out; }
		break;
	case 4:
		if (HX_FIELD_EQ(inName,"rank") ) { return rank; }
		if (HX_FIELD_EQ(inName,"next") ) { return next; }
		if (HX_FIELD_EQ(inName,"free") ) { return free_dyn(); }
		break;
	case 5:
		if (HX_FIELD_EQ(inName,"alloc") ) { return alloc_dyn(); }
		break;
	case 6:
		if (HX_FIELD_EQ(inName,"parent") ) { return parent; }
	}
	return super::__Field(inName,inCallProp);
}
Ejemplo n.º 6
0
Dynamic ZPP_SweepData_obj::__Field(const ::String &inName,bool inCallProp)
{
	switch(inName.length) {
	case 2:
		if (HX_FIELD_EQ(inName,"gt") ) { return gt_dyn(); }
		break;
	case 4:
		if (HX_FIELD_EQ(inName,"free") ) { return free_dyn(); }
		if (HX_FIELD_EQ(inName,"aabb") ) { return aabb; }
		if (HX_FIELD_EQ(inName,"prev") ) { return prev; }
		if (HX_FIELD_EQ(inName,"next") ) { return next; }
		break;
	case 5:
		if (HX_FIELD_EQ(inName,"alloc") ) { return alloc_dyn(); }
		if (HX_FIELD_EQ(inName,"shape") ) { return shape; }
		break;
	case 8:
		if (HX_FIELD_EQ(inName,"zpp_pool") ) { return zpp_pool; }
	}
	return super::__Field(inName,inCallProp);
}
Ejemplo n.º 7
0
Dynamic ZPP_ToiEvent_obj::__Field(const ::String &inName,bool inCallProp)
{
	switch(inName.length) {
	case 2:
		if (HX_FIELD_EQ(inName,"c2") ) { return c2; }
		if (HX_FIELD_EQ(inName,"c1") ) { return c1; }
		if (HX_FIELD_EQ(inName,"s2") ) { return s2; }
		if (HX_FIELD_EQ(inName,"s1") ) { return s1; }
		break;
	case 3:
		if (HX_FIELD_EQ(inName,"toi") ) { return toi; }
		break;
	case 4:
		if (HX_FIELD_EQ(inName,"axis") ) { return axis; }
		if (HX_FIELD_EQ(inName,"free") ) { return free_dyn(); }
		if (HX_FIELD_EQ(inName,"next") ) { return next; }
		break;
	case 5:
		if (HX_FIELD_EQ(inName,"alloc") ) { return alloc_dyn(); }
		break;
	case 6:
		if (HX_FIELD_EQ(inName,"failed") ) { return failed; }
		break;
	case 7:
		if (HX_FIELD_EQ(inName,"slipped") ) { return slipped; }
		if (HX_FIELD_EQ(inName,"frozen2") ) { return frozen2; }
		if (HX_FIELD_EQ(inName,"frozen1") ) { return frozen1; }
		if (HX_FIELD_EQ(inName,"arbiter") ) { return arbiter; }
		break;
	case 8:
		if (HX_FIELD_EQ(inName,"zpp_pool") ) { return zpp_pool; }
		break;
	case 9:
		if (HX_FIELD_EQ(inName,"kinematic") ) { return kinematic; }
	}
	return super::__Field(inName,inCallProp);
}
Ejemplo n.º 8
0
/**
 * Start snmp thread.
 * @return 0 on success.
 */
int stats_snmp(void)
{
  int rc = 0;

  register_get_set *dyn_gs;
  int dyn_gs_count;

  SetNameFunction("stat_snmp");

  if(!config_ok)
    {
      LogCrit(COMPONENT_INIT,
              "Loading configuration has failed, SNMP_ADM is not activated");
      return 1;
    }

  /* set SNMP admin library's configuration  */
  if((rc = snmp_adm_config_daemon(nfs_param.extern_param.snmp_adm.snmp_agentx_socket,
                                  nfs_param.extern_param.snmp_adm.snmp_log_file,
                                  nfs_param.extern_param.snmp_adm.product_id)))
    {
      LogCrit(COMPONENT_INIT,
              "Error setting SNMP admin interface configuration");
      return 1;
    }

  /* always register general statistics */
  if((rc =
      snmp_adm_register_get_set_function(STAT_OID, snmp_export_stat_general,
                                         SNMPADM_STAT_GENERAL_COUNT)))
    {
      LogCrit(COMPONENT_INIT,
              "Error registering statistic variables to SNMP");
      return 2;
    }

  if(nfs_param.extern_param.snmp_adm.export_cache_stats)
    {
      if((rc =
          snmp_adm_register_get_set_function(STAT_OID, snmp_export_stat_cache,
                                             SNMPADM_STAT_CACHE_COUNT)))
        {
          LogCrit(COMPONENT_INIT,
                  "Error registering statistic variables to SNMP");
          return 2;
        }
    }

  if(nfs_param.extern_param.snmp_adm.export_requests_stats)
    {
      if((rc =
          snmp_adm_register_get_set_function(STAT_OID, snmp_export_stat_req,
                                             SNMPADM_STAT_REQ_COUNT)))
        {
          LogCrit(COMPONENT_INIT,
                  "Error registering statistic variables to SNMP");
          return 2;
        }
    }

  if(nfs_param.extern_param.snmp_adm.export_maps_stats)
    {
      if((rc =
          snmp_adm_register_get_set_function(STAT_OID, snmp_export_stat_maps,
                                             SNMPADM_STAT_MAPS_COUNT)))
        {
          LogCrit(COMPONENT_INIT,
                  "Error registering statistic variables to SNMP");
          return 2;
        }
    }

  if(nfs_param.extern_param.snmp_adm.export_nfs_calls_detail)
    {
      create_dyn_mntv1_stat(&dyn_gs, &dyn_gs_count);

      if((rc = snmp_adm_register_get_set_function(STAT_OID, dyn_gs, dyn_gs_count)))
        {
          LogCrit(COMPONENT_INIT,
                  "Error registering mntv1 statistic variables to SNMP");
          return 2;
        }

      free_dyn(dyn_gs, dyn_gs_count);

      create_dyn_mntv3_stat(&dyn_gs, &dyn_gs_count);

      if((rc = snmp_adm_register_get_set_function(STAT_OID, dyn_gs, dyn_gs_count)))
        {
          LogCrit(COMPONENT_INIT,
                  "Error registering mntv3 statistic variables to SNMP");
          return 2;
        }

      free_dyn(dyn_gs, dyn_gs_count);

      create_dyn_nfsv2_stat(&dyn_gs, &dyn_gs_count);

      if((rc = snmp_adm_register_get_set_function(STAT_OID, dyn_gs, dyn_gs_count)))
        {
          LogCrit(COMPONENT_INIT,
                  "Error registering nfsv2 statistic variables to SNMP");
          return 2;
        }

      free_dyn(dyn_gs, dyn_gs_count);

      create_dyn_nfsv3_stat(&dyn_gs, &dyn_gs_count);

      if((rc = snmp_adm_register_get_set_function(STAT_OID, dyn_gs, dyn_gs_count)))
        {
          LogCrit(COMPONENT_INIT,
                  "Error registering nfsv3 statistic variables to SNMP");
          return 2;
        }

      free_dyn(dyn_gs, dyn_gs_count);

      create_dyn_nfsv4_stat(&dyn_gs, &dyn_gs_count);

      if((rc = snmp_adm_register_get_set_function(STAT_OID, dyn_gs, dyn_gs_count)))
        {
          LogCrit(COMPONENT_INIT,
                  "Error registering nfsv4 statistic variables to SNMP");
          return 2;
        }

      free_dyn(dyn_gs, dyn_gs_count);
    }

  if(nfs_param.extern_param.snmp_adm.export_fsal_calls_detail)
    {
      create_dyn_fsal_stat(&dyn_gs, &dyn_gs_count);

      if((rc = snmp_adm_register_get_set_function(STAT_OID, dyn_gs, dyn_gs_count)))
        {
          LogCrit(COMPONENT_INIT,
                  "Error registering nfsv4 statistic variables to SNMP");
          return 2;
        }

      free_dyn(dyn_gs, dyn_gs_count);
    }

  /*
   * Set up logging snmp adm control
   */

  /* always register general logging variables */
  create_dyn_log_control(&dyn_gs, &dyn_gs_count);

  if((rc = snmp_adm_register_get_set_function(LOG_OID, dyn_gs, dyn_gs_count)))
    {
      LogCrit(COMPONENT_INIT,
              "Error registering logging component variables to SNMP");
      return 2;
    }

  free_dyn(dyn_gs, dyn_gs_count);

#ifdef _ERROR_INJECTION
  rc = init_error_injector();
  if(rc != 0)
    return rc;
#endif

  /* finally, start the admin thread */
  if((rc = snmp_adm_start()))
    {
      LogCrit(COMPONENT_INIT,
              "Error starting SNMP administration service");
      return 3;
    }

  return 0;

}