Lines Matching refs:ref
45 entry_ref_flatten(char *buffer, size_t *size, const entry_ref *ref)
47 if (*size < sizeof(ref->device) + sizeof(ref->directory))
50 memcpy((void *)buffer, (const void *)&ref->device, sizeof(ref->device));
51 buffer += sizeof(ref->device);
52 memcpy((void *)buffer, (const void *)&ref->directory, sizeof(ref->directory));
53 buffer += sizeof (ref->directory);
54 *size -= sizeof(ref->device) + sizeof(ref->directory);
57 if (ref->name) {
58 nameLength = strlen(ref->name) + 1;
62 memcpy((void *)buffer, (const void *)ref->name, nameLength);
65 *size = sizeof(ref->device) + sizeof(ref->directory) + nameLength;
71 entry_ref_unflatten(entry_ref *ref, const char *buffer, size_t size)
73 if (size < sizeof(ref->device) + sizeof(ref->directory)) {
74 *ref = entry_ref();
78 memcpy((void *)&ref->device, (const void *)buffer, sizeof(ref->device));
79 buffer += sizeof (ref->device);
80 memcpy((void *)&ref->directory, (const void *)buffer, sizeof(ref->directory));
81 buffer += sizeof(ref->directory);
83 if (ref->device != ~(dev_t)0 && size > sizeof(ref->device)
84 + sizeof(ref->directory)) {
85 ref->set_name(buffer);
86 if (ref->name == NULL) {
87 *ref = entry_ref();
91 ref->set_name(NULL);