kogmo_rtdb_objid_t
kogmo_rtdb_obj_c3_process_searchprocessobj (kogmo_rtdb_handle_t *db_h,
                                            kogmo_timestamp_t ts,
                                            kogmo_rtdb_objid_t proc_oid)
{
  kogmo_rtdb_objid_t proclistoid,procoid;

  proclistoid = kogmo_rtdb_obj_searchinfo (db_h, "processes",
                                           KOGMO_RTDB_OBJTYPE_C3_PROCESSLIST,
                                           0, 0, ts, NULL, 1);
DBG("%lli",(long long)proclistoid);
  if ( proclistoid < 0 )
    return 0;

  procoid = kogmo_rtdb_obj_searchinfo (db_h, "",
                                       KOGMO_RTDB_OBJTYPE_C3_PROCESS,
                                       proclistoid, proc_oid, ts, NULL, 1);
  if ( procoid < 0 )
    return 0;

  return procoid;
}
int
kogmo_rtdb_objmeta_upd_stats (kogmo_rtdb_handle_t *db_h)
{
  kogmo_rtdb_objid_t oid;
  //kogmo_rtdb_obj_info_t rtdbobj_info;
  kogmo_rtdb_obj_c3_rtdb_t rtdbobj;
  kogmo_rtdb_objid_t err;
  CHK_DBH("kogmo_rtdb_objmeta_upd_stats",db_h,0);
  oid = kogmo_rtdb_obj_searchinfo (db_h, "rtdb", KOGMO_RTDB_OBJTYPE_C3_RTDB, 0, 0, 0, NULL, 1);
  if (oid<0) return oid;
  //err = kogmo_rtdb_obj_readinfo (db_h, oid, 0, &rtdbobj_info);
  //if (err<0) return err;
  err = kogmo_rtdb_obj_readdata (db_h, oid, 0, &rtdbobj, sizeof(rtdbobj));
  if (err<0) return err;
  rtdbobj.base.data_ts = kogmo_timestamp_now();
  rtdbobj.rtdb.objects_free=db_h->localdata_p->objmeta_free;
  rtdbobj.rtdb.processes_free=db_h->ipc_h.shm_p->proc_free;
  rtdbobj.rtdb.memory_free=db_h->localdata_p -> heap_free;
  err = kogmo_rtdb_obj_writedata (db_h, oid, &rtdbobj);
  if (err<0) return err;
  return 0;
}