From: <don...@is...> - 2014-10-17 23:02:21
|
I'm having as much trouble understanding you as you seem to be having understanding me. I'm generally asking about how to get data from inside lisp and what it means. I gather you're telling me how to find it in c. > Use the stat(1) command instead. I now gather you think I should try to parse the results of (ext:execute "stat" ...) instead of (ext:execute "ls" ...) > Is that posix:file-stat ? I was asking whether stat(1) uses the same underlying mechanism as file-stat. > Who spoke about :dev? > file-stat returns, among other things, dev and rdev. > The description in impnotes sounds like maybe they ought to be the=20 > 136,1 in the ls output above. stat(2) gives more information, which is the reason why I mentionned it. That looks a lot like the output of posix:file-stat. > > And this raises another question - what can I do with a dev or > > rdev other than compare it with another one? Does it have a > > name? A size? Any other useful properties? > I don't understand those questions. I guess you need a brain > re-synchronization. > Whatever comes from file-stat in the dev and rdev slots, or whatever > SHOULD come out of them - how can they be used? As stat(2) tells, you, you would have a look at the major(3) and minor(3) C library operators, and you would have to implement the corresponding lisp functions. Notice that those operators are not necessarily implemented as C functions, notably, on GNU/linux they are implemented as macros, and recently, as macro expanding to some GNU specific function. Therefore you cannot just call them thru CFFI: you have to find their sources on each of your target system, and to implement it in lisp for each of them. And what use can I make of those major and minor value? > For instance, the uid in that structure can be translated into a > user name, the atime can be converted into a year, month, day, > etc. I'd hope the number in the dev field could be translated > into something like /dev/sda1 which shows up in output of the df > command. Again, I fail to understand your brain processes. Why do you want to get something like "/dev/sda1" when you already have "/dev/sda1"? I DON'T already have /dev/sda1 ! I'm hoping to get it. I have something like 64770 from #<FILE-STAT :FILE "/tmp" :DEV 64770 :INO 150 ... I want to know what I can do with 64770 (and how) in order to find out something about this "device". And finding its major and minor components are not very useful unless you can tell me how to find out something about those. An example of something useful about a device would be a name or how much space is used or available on that device or whether it's removable. |