Creación de una entrada de lectura escritura proc en las versiones del núcleo por encima de 3,10

En el post Creación de sólo lectura entrada proc en las versiones del núcleo por encima de 3,10 vimos cómo crear una entrada proc lectura en la versión del núcleo 3.10 y por encima. En la continuación de la misma vamos a ver cómo podemos crear una entrada proc en el que se puede escribir datos.

Podemos crear una entrada proc utilizando la función

Donde:

nombre: El nombre del
modo de introducción de proc : El modo de acceso para proc entrada
padres: El nombre del directorio principal dentro de / proc
proc_fops: La estructura en la que se crearán las operaciones de archivo para la entrada proc.

Por ejemplo, para crear una entrada de proc por el nombre de «hola» en virtud de la función anterior / proc se definirán son

Por ejemplo, para crear una entrada de proc por el nombre » hello_write «en / proc se definirá la función anterior se

Ahora tenemos que crear la estructura file_operations proc_fops en el que podemos mapear la lectura y escritura de funciones para la entrada proc.

Lo siguiente que necesitamos para añadir el read_proc funciones y write_proc que dará datos de escritura para la entrada proc y luego leer los datos de la entrada proc.

La función write recibir datos desde el espacio de usuario mediante el copy_from_user función en un puntero char «msg».

Así, la función de escritura se verá como a continuación.

Una vez que los datos se escriben en la entrada proc podemos leer desde la entrada proc utilizando una función de lectura, es decir, datos del tranfer al espacio de usuario mediante la función función copy_to_user.

La función de lectura puede ser de la siguiente manera.

La creación de proc entrada y la inicialización del puntero MSG se puede hacer en un create_new_proc_entry función.

El create_new_proc_entry se llamará en la función init.

El proc entrada que se ha creado se eliminará en la función de salida usando remove_proc_entry.

Así, el código completo para la creación de una entrada de escritura proc ve de la siguiente manera.
proc_rw.c

El makefile para la compilación de los módulos son

Compile y cargar el módulo usando

Para probar la entrada proc Primero vamos a escribir los datos en el

Ahora podemos leer los datos de nuevo

Podemos ver que el mensaje que escribimos en la entrada proc, se muestra los mismos datos cuando se lee. Los datos se mantendrán siempre y cuando no se sobrescribe con los nuevos datos.

Posts relacionados:

La creación de sólo lectura entrada proc en las versiones del núcleo por encima de 3,10

Para la versión del kernel antes 3,10

Creación de una entrada proc – 1

Creación de una entrada de lectura proc

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *