update latest itsfoss how descargar como change linux-kernel linux-device-driver

linux kernel - latest - Ejemplo de proc_create() para el módulo del kernel



upgrade kernel linux (2)

Aquí hay un código ''hello_proc'', que hace uso de la nueva interfaz ''proc_create ()''.

#include <linux/module.h> #include <linux/proc_fs.h> #include <linux/seq_file.h> static int hello_proc_show(struct seq_file *m, void *v) { seq_printf(m, "Hello proc!/n"); return 0; } static int hello_proc_open(struct inode *inode, struct file *file) { return single_open(file, hello_proc_show, NULL); } static const struct file_operations hello_proc_fops = { .owner = THIS_MODULE, .open = hello_proc_open, .read = seq_read, .llseek = seq_lseek, .release = single_release, }; static int __init hello_proc_init(void) { proc_create("hello_proc", 0, NULL, &hello_proc_fops); return 0; } static void __exit hello_proc_exit(void) { remove_proc_entry("hello_proc", NULL); } MODULE_LICENSE("GPL"); module_init(hello_proc_init); module_exit(hello_proc_exit);

Este código se ha tomado de http://pointer-overloading.blogspot.in/2013/09/linux-creating-entry-in-proc-file.html

¿Puede alguien darme el ejemplo de proc_create() ?

Anteriormente usaban create_proc_entry() en el kernel pero ahora están usando proc_create() .


Este ejemplo creará una entrada proc que habilita el acceso de lectura. Creo que puede habilitar otros tipos de acceso cambiando el argumento de mode pasado a la función. No he pasado un directorio padre porque no hay necesidad de hacerlo. La estructura file_operations es donde usted configura su lectura y escritura de devoluciones de llamada.

struct proc_dir_entry *proc_file_entry; static const struct file_operations proc_file_fops = { .owner = THIS_MODULE, .open = open_callback, .read = read_callback, }; int __init init_module(void){ proc_file_entry = proc_create("proc_file_name", 0, NULL, &proc_file_fops); if(proc_file_entry == NULL) return -ENOMEM; return 0; }

Puede consultar este ejemplo para más detalles: https://www.linux.com/learn/linux-training/37985-the-kernel-newbie-corner-kernel-debugging-using-proc-qsequenceq-files-part-1