Lines Matching refs:key
54 char key[1]; /* inline key */ member
115 static ps_sd *ps_sd_new(ps_mm *data, const char *key) in ps_sd_new() argument
121 keylen = strlen(key); in ps_sd_new()
131 hv = ps_sd_hash(key, keylen); in ps_sd_new()
139 memcpy(sd->key, key, keylen + 1); in ps_sd_new()
152 ps_mm_debug(("inserting %s(%p) into slot %d\n", key, sd, slot)); in ps_sd_new()
161 slot = ps_sd_hash(sd->key, strlen(sd->key)) & data->hash_max; in ps_sd_destroy()
182 static ps_sd *ps_sd_lookup(ps_mm *data, const char *key, int rw) in ps_sd_lookup() argument
187 hv = ps_sd_hash(key, strlen(key)); in ps_sd_lookup()
191 if (ret->hv == hv && !strcmp(ret->key, key)) { in ps_sd_lookup()
206 ps_mm_debug(("lookup(%s): ret=%p,hv=%u,slot=%d\n", key, ret, hv, slot)); in ps_sd_lookup()
211 static int ps_mm_key_exists(ps_mm *data, const char *key TSRMLS_DC) in ps_mm_key_exists()
215 if (!key) { in ps_mm_key_exists()
218 sd = ps_sd_lookup(data, key, 0); in ps_mm_key_exists()
360 && ps_mm_key_exists(data, key TSRMLS_CC) == FAILURE) { in PS_READ_FUNC()
362 if (key) { in PS_READ_FUNC()
398 sd = ps_sd_lookup(data, key, 1); in PS_WRITE_FUNC()
400 sd = ps_sd_new(data, key); in PS_WRITE_FUNC()
401 ps_mm_debug(("new entry for %s\n", key)); in PS_WRITE_FUNC()
437 sd = ps_sd_lookup(data, key, 0); in PS_DESTROY_FUNC()
468 ps_mm_debug(("purging %s\n", sd->key)); in PS_GC_FUNC()