3.2. Escribiendo Datos

La función de retrollamada de escritura permite a los procesos de usuario escribir datos en el núcleo, por lo tanto tiene cierta clase de control sobre el núcleo. La función de escritura debería de tener el siguiente formato:

int write_func(struct file* file, const char* buffer, unsigned long count, void* data);

La función de escritura lee count bytes como máximo del buffer. Destacar que buffer no reside en el espacio de memoria del núcleo, por lo tanto debería de ser primero copiado al espacio del núcleo con copy_from_user. El parámetro file es usualmente ignorado. Sección 3.3 muestra como usar el parámetro data.

Otra vez, Capítulo 5 muestra cómo usar esta función de retrollamada.