Exemple #1
0
/*
 *  _atob(vp,p,base)
 */
static int
#ifdef HAVE_QUAD
_atob (u_quad_t *vp, char *p, int base)
{
	u_quad_t value, v1, v2;
#else
_atob (unsigned long *vp, char *p, int base)
{
	u_long value, v1, v2;
#endif
	char *q, tmp[20];
	int digit;

	if (p[0] == '0' && (p[1] == 'x' || p[1] == 'X')) {
		base = 16;
		p += 2;
	}

	if (base == 16 && (q = strchr (p, '.')) != 0) {
		if (q - p > sizeof(tmp) - 1)
			return (0);

		strncpy (tmp, p, q - p);
		tmp[q - p] = '\0';
		if (!_atob (&v1, tmp, 16))
			return (0);

		q++;
		if (strchr (q, '.'))
			return (0);

		if (!_atob (&v2, q, 16))
			return (0);
		*vp = (v1 << 16) + v2;
		return (1);
	}

	value = *vp = 0;
	for (; *p; p++) {
		if (*p >= '0' && *p <= '9')
			digit = *p - '0';
		else if (*p >= 'a' && *p <= 'f')
			digit = *p - 'a' + 10;
		else if (*p >= 'A' && *p <= 'F')
			digit = *p - 'A' + 10;
		else
			return (0);

		if (digit >= base)
			return (0);
		value *= base;
		value += digit;
	}
	*vp = value;
	return (1);
}
Exemple #2
0
/*
 *  llatob(vp,p,base) 
 *      converts p to binary result in vp, rtn 1 on success
 */
int
llatob(u_quad_t *vp, char *p, int base)
{
	if (base == 0)
		p = _getbase (p, &base);
	return _atob(vp, p, base);
}
Exemple #3
0
/*
 *  atob(vp,p,base)
 *      converts p to binary result in vp, rtn 1 on success
 */
int
atob(uint32_t *vp, char *p, int base)
{
    uint32_t v;
    if (base == 0)
        p = _getbase (p, &base);
    if (_atob (&v, p, base)) {
        *vp = v;
        return (1);
    }
    return (0);
}
Exemple #4
0
/*
 *  atob(vp,p,base) 
 *      converts p to binary result in vp, rtn 1 on success
 */
int
atob(u_int32_t *vp, char *p, int base)
{
#ifdef HAVE_QUAD
	u_quad_t v;
#else
	u_long  v;
#endif

	if (base == 0)
		p = _getbase (p, &base);
	if (_atob (&v, p, base)) {
		*vp = v;
		return (1);
	}
	return (0);
}
void iFuseCmdOptsInit() {
    char *value;

    bzero(&g_Opt, sizeof(iFuseOpt_t));

    g_Opt.directio = true;
    g_Opt.bufferedFS = true;
    g_Opt.preload = true;
    g_Opt.cacheMetadata = true;
    g_Opt.maxConn = IFUSE_MAX_NUM_CONN;
    g_Opt.blocksize = IFUSE_BUFFER_CACHE_BLOCK_SIZE;
#ifdef USE_CONNREUSE
    g_Opt.connReuse = true;
#else
    g_Opt.connReuse = false;
#endif
    g_Opt.connTimeoutSec = IFUSE_FREE_CONN_TIMEOUT_SEC;
    g_Opt.connKeepAliveSec = IFUSE_FREE_CONN_KEEPALIVE_SEC;
    g_Opt.connCheckIntervalSec = IFUSE_FREE_CONN_CHECK_INTERVAL_SEC;
    g_Opt.rodsapiTimeoutSec = IFUSE_RODSCLIENTAPI_TIMEOUT_SEC;
    g_Opt.preloadNumBlocks = IFUSE_PRELOAD_PBLOCK_NUM;
    g_Opt.metadataCacheTimeoutSec = IFUSE_METADATA_CACHE_TIMEOUT_SEC;

    // check environmental variables
    value = getenv("IRODSFS_NOCACHE"); // true/false
    if(_atob(value)) {
        g_Opt.bufferedFS = false;
        g_Opt.preload = false;
        g_Opt.cacheMetadata = false;
    }

    value = getenv("IRODSFS_NOPRELOAD"); // true/false
    if(_atob(value)) {
        g_Opt.preload = false;
    }

    value = getenv("IRODSFS_NOCACHEMETADATA"); // true/false
    if(_atob(value)) {
        g_Opt.cacheMetadata = false;
    }

    value = getenv("IRODSFS_MAXCONN"); // number
    if(value != NULL) {
        g_Opt.maxConn = atoi(value);
    }

    value = getenv("IRODSFS_BLOCKSIZE"); // number
    if(value != NULL) {
        g_Opt.blocksize = atoi(value);
    }

    value = getenv("IRODSFS_CONNREUSE"); // true/false
    if(_atob(value)) {
        g_Opt.connReuse = true;
    }

    value = getenv("IRODSFS_NOCONNREUSE"); // true/false
    if(_atob(value)) {
        g_Opt.connReuse = false;
    }

    value = getenv("IRODSFS_CONNTIMEOUT"); // number
    if(value != NULL) {
        g_Opt.connTimeoutSec = atoi(value);
    }

    value = getenv("IRODSFS_CONNKEEPALIVE"); // number
    if(value != NULL) {
        g_Opt.connKeepAliveSec = atoi(value);
    }

    value = getenv("IRODSFS_CONNCHECKINTERVAL"); // number
    if(value != NULL) {
        g_Opt.connCheckIntervalSec = atoi(value);
    }

    value = getenv("IRODSFS_APITIMEOUT"); // number
    if(value != NULL) {
        g_Opt.rodsapiTimeoutSec = atoi(value);
    }

    value = getenv("IRODSFS_PRELOADBLOCKS"); // number
    if(value != NULL) {
        g_Opt.preloadNumBlocks = atoi(value);
    }

    value = getenv("IRODSFS_METADATACACHETIMEOUT"); // number
    if(value != NULL) {
        g_Opt.metadataCacheTimeoutSec = atoi(value);
    }
}