Forskelle

Dette viser forskellene mellem den valgte og den nuværende udgave af dokumentet. Gul er linjer der findes i den gamle udgave, og grøn er linjer der findes i den nuværende.

Link til denne sammenlinings vising

diverse:fkernelmodul [17-02-2008 00:36]
kyrke oprettet
diverse:fkernelmodul [16-09-2011 18:48]
Linje 1: Linje 1:
-====== F-Kernel Modul ====== 
  
-Det (officielle?​) fklub kernel modul. Originalt lavet af jokke, mchro & kyrke 2006.  
- 
-<​code>​ 
-#include <​linux/​kernel.h>​ 
-#include <​linux/​module.h>​ 
-#include <​linux/​fs.h>​ 
- 
-#define MAX_Fs 99999 //-1 for infinitet ​ 
- 
-int fCount = 0; 
- 
-static int device_open(struct inode *i, struct file *f)  
-{ 
-  
- return 0; 
-} 
- 
-static int device_close(struct inode *i, struct file *f) 
-{ 
- return 0; 
-} 
- 
-static ssize_t device_read( 
- struct file *f, char *buffer, size_t length, loff_t *offset) 
-{ 
- *buffer = '​F';​ 
- fCount++; 
- 
- if (fCount != -1 && fCount >= MAX_Fs){ 
- panic("​No more F'​s"​);​ 
- } 
-  
- ​ return 1; 
-} 
- 
-static ssize_t device_write( 
- struct file *f, const char *buffer, size_t length, loff_t *offset) 
-{ 
- if (*buffer = '​F'​ || *buffer = '​f'​){ 
- fCount--; 
- }else{ 
- panic("​My world only contains F!!! ") 
- }  
- return length; 
-} 
- 
-static struct file_operations fops =  
-{ 
- .read = device_read,​ 
- .write = device_write,​ 
- .open = device_open,​ 
- .release = device_close 
-}; 
- 
-static int major; 
- 
-static int device_init(void) ​ 
-{ 
- major = register_chrdev(0,​ "null device",​ &fops); 
- if (major < 0)  
- { 
- printk("​Init failed (%d)\n",​ major); 
- return major; 
- } 
- printk("​Got major %d\n", major); 
- return 0; 
-} 
- 
-static void device_exit(void) ​ 
-{ 
- int n = unregister_chrdev(major,​ "null device"​);​ 
- if (n < 0)  
- { 
- printk("​Cleanup failed (%d)\n",​ n); 
- } 
-} 
- 
-module_init(device_init);​ 
-module_exit(device_exit);​ 
- 
-MODULE_LICENSE("​GPL"​);​ 
-</​code>​ 
diverse/fkernelmodul.txt · Sidst ændret: 16-09-2011 18:48 (ekstern redigering)
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0