KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Edit: I have found seq_file that eases writing a lot of data from kernel to user-space. What I am looking for is the opposite; an API that facilitates reading a lot of data (more than one page) from user-space. Edit 2 : I am implementing a port of <stdio.h> as a kernel module that would be able to open /proc (and later, other virtual file systems) similar to FILE s and handle input and output similar to <stdio.h> . You can find the project here . I have found a LOT of questions on how the kernel can write large amounts of data to /proc (for user-space programs to take), but nothing for the other way around. Let me elaborate: This question is basically about the algorithm by which the input is tokenized (for example to int s or a mixture of int and string etc), given that the data maybe broken between multiple buffers . For example, imagine the following data is being sent to the kernel module: 12345678 81234567 78123456 67812345 5678 1234 45678123 3456 7812 23456781 and for the sake of this example, let's say the page size by which Linux feeds the /proc handler is 20 bytes (vs the real 4KB). The function that reads the data from /proc (in the kernel module) then sees the data as such: call 1: "12345678 81234567 78" call 2: "123456 67812345 5678" call 3: " 1234 45678123 3456 " call 4: "7812 23456781" As you can see, when 78 is read in the first call, it shouldn't be processed yet until the next frames for it to decide whether 78 was a whole number or one cut between frames. Now I found seq_file s that
Tags (comma-separated)
Save Edits
Cancel