Lines Matching defs:key

52 static	void	free_key (link_key_p key);
60 static link_key_p key = NULL;
78 key = (link_key_p) malloc(sizeof(*key));
79 if (key == NULL) {
85 memset(key, 0, sizeof(*key));
89 if (get_key(&key->bdaddr, 1) != NULL) {
92 bt_ntoa(&key->bdaddr, NULL));
93 free_key(key);
95 LIST_INSERT_HEAD(&link_keys, key, next);
97 key = NULL;
107 | key
113 if (!bt_aton($2, &key->bdaddr)) {
123 if (key->name != NULL)
124 free(key->name);
126 key->name = strdup($2);
127 if (key->name == NULL) {
135 key: T_KEY T_HEXSTRING
139 if (key->key != NULL)
140 free(key->key);
142 key->key = (uint8_t *) malloc(NG_HCI_KEY_SIZE);
143 if (key->key == NULL) {
145 "link key");
149 memset(key->key, 0, NG_HCI_KEY_SIZE);
156 key->key[i] = hexa2int8((char *)($2) + 2*i);
160 if (key->key != NULL)
161 free(key->key);
163 key->key = NULL;
169 if (key->pin != NULL)
170 free(key->pin);
172 key->pin = strdup($2);
173 if (key->pin == NULL) {
181 if (key->pin != NULL)
182 free(key->pin);
184 key->pin = NULL;
232 link_key_p key = NULL;
234 while ((key = LIST_FIRST(&link_keys)) != NULL) {
235 LIST_REMOVE(key, next);
236 free_key(key);
240 /* Find link key entry in the list. Return exact or default match */
244 link_key_p key = NULL, defkey = NULL;
246 LIST_FOREACH(key, &link_keys, next) {
247 if (memcmp(bdaddr, &key->bdaddr, sizeof(key->bdaddr)) == 0)
251 if (memcmp(NG_HCI_BDADDR_ANY, &key->bdaddr,
252 sizeof(key->bdaddr)) == 0)
253 defkey = key;
256 return ((key != NULL)? key : defkey);
264 link_key_p key = NULL;
267 LIST_FOREACH(key, &link_keys, next) {
268 if (key->key != NULL)
271 key->key[0], key->key[1], key->key[2],
272 key->key[3], key->key[4], key->key[5],
273 key->key[6], key->key[7], key->key[8],
274 key->key[9], key->key[10], key->key[11],
275 key->key[12], key->key[13], key->key[14],
276 key->key[15]);
282 "key %s",
283 (key->name != NULL)? key->name : "noname",
284 bt_ntoa(&key->bdaddr, NULL),
285 (key->pin != NULL)? key->pin : "nopin",
286 (key->key != NULL)? buffer : "nokey");
296 link_key_t *key = NULL;
322 if ((key = get_key(&bdaddr, 1)) == NULL)
325 if (key->key == NULL) {
326 key->key = (uint8_t *) malloc(NG_HCI_KEY_SIZE);
327 if (key->key == NULL) {
328 syslog(LOG_ERR, "Could not allocate link key");
333 memset(key->key, 0, NG_HCI_KEY_SIZE);
340 key->key[i] = hexa2int8(cp + 2*i);
342 syslog(LOG_DEBUG, "Restored link key for the entry, " \
344 bt_ntoa(&key->bdaddr, NULL),
345 (key->name != NULL)? key->name : "No name");
357 link_key_p key = NULL;
368 LIST_FOREACH(key, &link_keys, next) {
369 if (key->key == NULL)
374 bt_ntoa(&key->bdaddr, NULL),
375 key->key[0], key->key[1], key->key[2], key->key[3],
376 key->key[4], key->key[5], key->key[6], key->key[7],
377 key->key[8], key->key[9], key->key[10], key->key[11],
378 key->key[12], key->key[13], key->key[14], key->key[15]);
399 /* Free key entry */
401 free_key(link_key_p key)
403 if (key->name != NULL)
404 free(key->name);
405 if (key->key != NULL)
406 free(key->key);
407 if (key->pin != NULL)
408 free(key->pin);
410 memset(key, 0, sizeof(*key));
411 free(key);