Esempio n. 1
0
int null_init(HNDLE hkey, void **pinfo)
{
    HNDLE hDB, hkeybd;
    INT size, status;
    NULL_INFO *info;

    /* allocate info structure */
    info = calloc(1, sizeof(NULL_INFO));
    *pinfo = info;

    cm_get_experiment_database(&hDB, NULL);

    /* create NULL settings record */
    status = db_create_record(hDB, hkey, "BD", NULL_SETTINGS_STR);
    if (status != DB_SUCCESS)
        return FE_ERR_ODB;

    db_find_key(hDB, hkey, "BD", &hkeybd);
    size = sizeof(info->settings);
    db_get_record(hDB, hkeybd, &info->settings, &size, 0);

    /* open port */
    info->fd = null_open(info->settings.device);

    if (info->fd < 0)
        return FE_ERR_HW;

    return SUCCESS;
}
Esempio n. 2
0
File: be.c Progetto: dolfly/nmdb
struct db_conn *db_open(enum backend_type type, const char *name, int flags)
{
	switch (type) {
	case BE_QDBM:
		return qdbm_open(name, flags);
	case BE_BDB:
		return bdb_open(name, flags);
	case BE_TC:
		return tc_open(name, flags);
	case BE_TDB:
		return xtdb_open(name, flags);
	case BE_LEVELDB:
		return xleveldb_open(name, flags);
	case BE_NULL:
		return null_open(name, flags);
	default:
		return NULL;
	}
}