📄 de2_includes.h
字号:
#include <linux/kernel.h>#include <linux/types.h>#include <linux/init.h>#include <linux/interrupt.h>#include <linux/module.h>#include <linux/fs.h>#include <linux/ioport.h>#include <asm/uaccess.h> /* for put_user */#include <asm/io.h>// max buffer length#define STRING_LEN 10#define STRING_LEN_ 1000000000 // for ltoa function// convert string to integerextern inline int atoi(const char *name){ int val = 0; for (;;name++) { switch (*name) { case '0'...'9': val = 10*val+(*name-'0'); break; default: return val; } }}// convert string to long integerextern inline long int atol(const char *name){ long int val = 0; for (;;name++) { switch (*name) { case '0'...'9': val = 10*val+(*name-'0'); break; default: return val; } }}// convert hexadecimal string to decimal long integerextern inline long int atolx(const char *name){ long int val = 0; for (;;name++) { switch (*name) { case '0'...'9': val = 16*val+(*name-'0'); break; case 'A': case 'a': val = 16*val+10; break; case 'B': case 'b': val = 16*val+11; break; case 'C': case 'c': val = 16*val+12; break; case 'D': case 'd': val = 16*val+13; break; case 'E': case 'e': val = 16*val+14; break; case 'F': case 'f': val = 16*val+15; break; default: return val; } }}// convert byte to stringextern inline void itoa(char *name, unsigned char value){ int i,j=0; for(i=10000;i>0;i/=10) { name[j++]='0'+value/i; value=value-(value/i)*i; if(name[0]=='0' && i!=1) j=0; } name[j++]='\n'; name[j]=0;}// convert long int to stringextern inline void ltoa(char *name, unsigned long value){ long int i,j=0; for(i=STRING_LEN_;i>0;i/=10) { name[j++]='0'+value/i; value=value-(value/i)*i; if(name[0]=='0' && i!=1) j=0; } name[j++]='\n'; name[j]=0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -