3.1. Leyendo Datos

La funci�n de lectura es una funci�n de retrollamada que permite a los procesos de usuario leer datos del n�cleo. La funci�n de lectura debe de tener el siguiente formato:

int read_func(char* page, char** start, off_t off, int count, int* eof, void* data);

La funci�n de lectura deber�a de escribir su informaci�n en page. Para un uso adecuado, la funci�n deber�a de empezar escribiendo en un desplazamiento de off en page y escribir al menos count bytes, como la mayor�a de las funciones de lectura son bastante simples y s�lo retornar�n una peque�a cantidad de informaci�n, estos dos par�metros son usualmente ignorados (y rompe paginadores como more y less, pero cat todav�a trabaja).

Si los par�metros off y count son usados de una forma adecuada, eof deber�a de ser utilizado para se�alar que el final del archivo ha llegado escribiendo 1 en la localizaci�n de memoria a donde apunta eof.

El par�metro start no parece ser usado en ning�n sitio en el n�cleo. El par�metro data puede ser usado para crear una funci�n simple de retrollamada para varios archivos, ver Secci�n 3.3.

La funci�n read_func debe de retornar el n�mero de bytes escritos en page.

Cap�tulo 5 muestra c�mo usar la funci�n de retrollamada de lectura.