Android培训班(17)

在上面函数主要识别的关键字有:

copy capability chdir chroot class class_start class_stop console chown chmod critical disabled domainname device exec export group hostname

ifup insmod import keycodes loglevel mkdir mount on oneshot onrestart restart service setenv setkey setprop setrlimit socket start stop

symlink sysclktz trigger user write

也就是配置文件只能使用上面的关键字,其它都是作为标识符的。这些关键的作用,其实是通过预先定义的操作来决定的,如下代码所示:

#001  #define KEYWORD(symbol, flags, nargs, func) K_##symbol,

#002  enum {

#003      K_UNKNOWN,

#004  #endif

#005      KEYWORD(capability,  OPTION,  0, 0)

这个关键字是用来执行linux服务之前检查linux内核的兼容性,它是一个选项。

 

#006      KEYWORD(chdir,       COMMAND, 1, do_chdir)

这个关键字是用来改变当前工作的目录,它是一个命令。

 

#007      KEYWORD(chroot,      COMMAND, 1, do_chroot)

这个关键字是用来更改某个进程所能看到的根目录,即将某进程限制在指定目录中,保证该进程只能对该目录及其子目录的文件有所动作,从而保证整个服务器的安全,它是一个命令。

 

#008      KEYWORD(class,       OPTION,  0, 0)

这个关键字是为一个服务指明一个类名称,它是一个选项。

 

#009      KEYWORD(class_start, COMMAND, 1, do_class_start)

这个关键字是启动所有指定服务类下的未运行服务,它是一个命令。

 

#010      KEYWORD(class_stop,  COMMAND, 1, do_class_stop)

这个关键字是停止指定服务类下的所有已运行的服务,它是一个命令。

 

#011      KEYWORD(console,     OPTION,  0, 0)

这个关键字是控制台选项,它是一个选项。

 

#012      KEYWORD(critical,    OPTION,  0, 0)

这个关键字是说明这是一个对于设备关键的服务。如果他四分钟内退出大于四次,系统将会重启并进入recovery(恢复)模式。

 

#013      KEYWORD(disabled,    OPTION,  0, 0)

这个关键字是说明这个服务不会同与他同trigger(触发器)下的服务自动启动。他必须被明确的按名启动。。

 

#014      KEYWORD(domainname,  COMMAND, 1, do_domainname)

这个关键字是设置域名,它是一个命令。

 

#015      KEYWORD(exec,        COMMAND, 1, do_exec)

这个关键字是创建或执行一个程序,它是一个命令。

 

#016      KEYWORD(export,      COMMAND, 2, do_export)

这个关键字是用来设置全局环境变量的值,它是一个命令。

 

#017      KEYWORD(group,       OPTION,  0, 0)

这个关键字是用来改服务的组名,它是一个选项。

 

#018      KEYWORD(hostname,    COMMAND, 1, do_hostname)

这个关键字是用来主机名称,它是一个命令。

 

#019      KEYWORD(ifup,        COMMAND, 1, do_ifup)

这个关键字是用来启动网络接口,它是一个命令。

 

#020      KEYWORD(insmod,      COMMAND, 1, do_insmod)

这个关键字是用来加载指定路径的模块,它是一个命令。

 

#021      KEYWORD(import,      COMMAND, 1, do_import)

这个关键字是用来加载一个init能识别的rc文件,它是一个命令。

 

#022      KEYWORD(keycodes,    OPTION,  0, 0)

这个关键字是用来定义按键码的选项。

 

#023      KEYWORD(mkdir,       COMMAND, 1, do_mkdir)

这个关键字是用来建立一个目录,它是一个命令。

 

#024      KEYWORD(mount,       COMMAND, 3, do_mount)

这个关键字是用来指定目录加载设备,它是一个命令。

 

#025      KEYWORD(on,          SECTION, 0, 0)

这个关键字是用来设置一段命令按什么事件进行触发运行,它是一个段描述符。

 

#026      KEYWORD(oneshot,     OPTION,  0, 0)

这个关键字是用来设置服务器只运行一次就关闭,它是一个选项。

 

#027      KEYWORD(onrestart,   OPTION,  0, 0)

这个关键字是用来设置当服务重启动,执行一个命令,它是一个选项。

 

#028      KEYWORD(restart,     COMMAND, 1, do_restart)

这个关键字是用来重新启动服务,它是一个命令。

 

#029      KEYWORD(service,     SECTION, 0, 0)

这个关键字是用来设置一段服务的命令,往往一段服务里需要有多个选项组成。

 

#030      KEYWORD(setenv,      OPTION,  2, 0)

这个关键字是用来设置环境变量,它是一个选项。

 

#031      KEYWORD(setkey,      COMMAND, 0, do_setkey)

这个关键字是用来设置按键的索引和键值,它是一个命令。

 

#032      KEYWORD(setprop,     COMMAND, 2, do_setprop)

这个关键字是用来设置系统属性名称为某个值,它是一个命令。

 

#033      KEYWORD(setrlimit,   COMMAND, 3, do_setrlimit)

这个关键字是用来设置系统资源限制,它是一个命令。

 

#034      KEYWORD(socket,      OPTION,  0, 0)

这个关键字是用来设置socket给一个应用程序,它是一个选项。

 

#035      KEYWORD(start,       COMMAND, 1, do_start)

这个关键字是用来启动一个服务,它是一个命令。

 

#036      KEYWORD(stop,        COMMAND, 1, do_stop)

这个关键字是用来停止一个服务,它是一个命令。

 

#037      KEYWORD(trigger,     COMMAND, 1, do_trigger)

这个关键字是用来标志一个触发命令,它是一个命令。

 

#038      KEYWORD(symlink,     COMMAND, 1, do_symlink)

这个关键字是用来设置一个路径的符号连接,它是一个命令。

 

#039      KEYWORD(sysclktz,    COMMAND, 1, do_sysclktz)

这个关键字是用来设置系统时钟基准,它是一个命令。

 

#040      KEYWORD(user,        OPTION,  0, 0)

这个关键字是用来设置服务、文件或目录所属的用户,它是一个选项。

 

#041      KEYWORD(write,       COMMAND, 2, do_write)

这个关键字是用来打开一个文件写多个字符串,它是一个命令。

 

#042      KEYWORD(copy,        COMMAND, 2, do_copy)

这个关键字是用来拷贝文件,它是一个命令。

 

#043      KEYWORD(chown,       COMMAND, 2, do_chown)

这个关键字是用来改变文件或目录的属某个用户的属性,它是一个命令。

 

#044      KEYWORD(chmod,       COMMAND, 2, do_chmod)

这个关键字是用来改变文件或目录的访问权限,它是一个命令。

 

#045      KEYWORD(loglevel,    COMMAND, 1, do_loglevel)

这个关键字是用来设置log输出的级别,它是一个命令。

 

#046      KEYWORD(device,      COMMAND, 4, do_device)

这个关键字是用来设置设备的名称,它是一个命令。

 

#047  #ifdef __MAKE_KEYWORD_ENUM__

#048      KEYWORD_COUNT,

#049  };

 

Android初始化语言包含了四种类型的声明:Actions(行动)、Commands(命令)、Services(服务)和Options(选 项)。

你可能感兴趣的:(android)