I'm writing a utility that parses the device tree in /proc/device-tree, and in order to read a property into memory, I have to first find out how large it is. So I have the following code:
off_t off; int f; f = open(filename, O_RDONLY); if (f == -1) { perror(__func__); return NULL; } off = lseek(f, 0, SEEK_END); if (off == -1) { perror(__func__); goto fail; } The lseek() call returns -1, and errno is set to EINVAL. According to the man page, this means: EINVAL The whence argument is not a proper value, or the resulting file offset would be negative for a regular file, block special file, or directory. Is there a limitation for the implementation of /proc/device-tree that prevents lseek() from working? If so, how do I determine the size of a property? -- Timur Tabi Linux kernel developer at Freescale _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev