1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- /* marker-example.c
- *
- * Executes a marker when /proc/marker-example is opened.
- *
- * (C) Copyright 2007 Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
- *
- * This file is released under the GPLv2.
- * See the file COPYING for more details.
- */
- #include <linux/module.h>
- #include <linux/marker.h>
- #include <linux/sched.h>
- #include <linux/proc_fs.h>
- struct proc_dir_entry *pentry_example;
- static int my_open(struct inode *inode, struct file *file)
- {
- int i;
- trace_mark(subsystem_event, "integer %d string %s", 123,
- "example string");
- for (i = 0; i < 10; i++)
- trace_mark(subsystem_eventb, MARK_NOARGS);
- return -EPERM;
- }
- static struct file_operations mark_ops = {
- .open = my_open,
- };
- static int __init example_init(void)
- {
- printk(KERN_ALERT "example init\n");
- pentry_example = proc_create("marker-example", 0444, NULL, &mark_ops);
- if (!pentry_example)
- return -EPERM;
- return 0;
- }
- static void __exit example_exit(void)
- {
- printk(KERN_ALERT "example exit\n");
- remove_proc_entry("marker-example", NULL);
- }
- module_init(example_init)
- module_exit(example_exit)
- MODULE_LICENSE("GPL");
- MODULE_AUTHOR("Mathieu Desnoyers");
- MODULE_DESCRIPTION("Marker example");
|