Lines Matching defs:node

155   struct grub_fshelp_node *node;
226 read_node (grub_fshelp_node_t node, grub_off_t off, grub_size_t len, char *buf)
234 while (i < node->have_dirents
235 && off >= grub_le_to_cpu32 (node->dirents[i].size))
237 off -= grub_le_to_cpu32 (node->dirents[i].size);
240 if (i == node->have_dirents)
242 toread = grub_le_to_cpu32 (node->dirents[i].size);
245 err = grub_disk_read (node->data->disk,
246 ((grub_disk_addr_t) grub_le_to_cpu32 (node->dirents[i].first_sector)) << GRUB_ISO9660_LOG2_BLKSZ,
261 grub_iso9660_susp_iterate (grub_fshelp_node_t node, grub_off_t off,
282 err = grub_disk_read (node->data->disk, ce_block, off,
285 err = read_node (node, off, sua_size, sua);
504 grub_iso9660_read_symlink (grub_fshelp_node_t node)
506 return node->have_symlink
507 ? grub_strdup (node->symlink
508 + (node->have_dirents) * sizeof (node->dirents[0])
509 - sizeof (node->dirents)) : grub_strdup ("");
513 get_node_size (grub_fshelp_node_t node)
518 for (i = 0; i < node->have_dirents; i++)
519 ret += grub_le_to_cpu32 (node->dirents[i].size);
528 grub_fshelp_node_t node))
685 struct grub_fshelp_node *node;
705 node = grub_malloc (sizeof (struct grub_fshelp_node));
706 if (!node)
709 node->alloc_dirents = ARRAY_SIZE (node->dirents);
710 node->have_dirents = 1;
712 /* Setup a new node. */
713 node->data = dir->data;
714 node->have_symlink = 0;
738 grub_free (node);
763 node->dirents[0] = dirent;
771 grub_free (node);
774 if (node->have_dirents >= node->alloc_dirents)
777 node->alloc_dirents *= 2;
778 new_node = grub_realloc (node,
780 + ((node->alloc_dirents
781 - ARRAY_SIZE (node->dirents))
782 * sizeof (node->dirents[0])));
787 grub_free (node);
790 node = new_node;
792 node->dirents[node->have_dirents++] = dirent;
796 if ((node->alloc_dirents - node->have_dirents)
797 * sizeof (node->dirents[0]) < grub_strlen (symlink) + 1)
800 new_node = grub_realloc (node,
802 + ((node->alloc_dirents
803 - ARRAY_SIZE (node->dirents))
804 * sizeof (node->dirents[0]))
810 grub_free (node);
813 node = new_node;
815 node->have_symlink = 1;
816 grub_strcpy (node->symlink
817 + node->have_dirents * sizeof (node->dirents[0])
818 - sizeof (node->dirents), symlink);
821 if (hook (filename, type, node))
849 grub_fshelp_node_t node);
853 grub_fshelp_node_t node)
858 info.mtimeset = !!iso9660_to_unixtime2 (&node->dirents[0].mtime, &info.mtime);
860 grub_free (node);
927 data->node = foundnode;
951 read_node (data->node, file->offset, len, buf);
966 grub_free (data->node);