aboutsummaryrefslogtreecommitdiff
path: root/zh_CN.GB2312/books/arch-handbook/mac.ent
diff options
context:
space:
mode:
authorXin LI <delphij@FreeBSD.org>2006-03-15 19:54:49 +0000
committerXin LI <delphij@FreeBSD.org>2006-03-15 19:54:49 +0000
commitd6aa1908eb7dac606d9c0c4f4c46abb47f205022 (patch)
tree8fefbf336a4556ffff6e7e3e7748f1986b8f7d8b /zh_CN.GB2312/books/arch-handbook/mac.ent
parent639205b60c99afefb07be3bccecf1b6eb04c0629 (diff)
Notes
Diffstat (limited to 'zh_CN.GB2312/books/arch-handbook/mac.ent')
-rw-r--r--zh_CN.GB2312/books/arch-handbook/mac.ent97
1 files changed, 97 insertions, 0 deletions
diff --git a/zh_CN.GB2312/books/arch-handbook/mac.ent b/zh_CN.GB2312/books/arch-handbook/mac.ent
new file mode 100644
index 0000000000..eec040633e
--- /dev/null
+++ b/zh_CN.GB2312/books/arch-handbook/mac.ent
@@ -0,0 +1,97 @@
+<!-- Original Revision: 1.4
+$FreeBSD$ -->
+
+<!ENTITY mac.mpo "mpo">
+<!ENTITY mac.thead '
+ <colspec colname="first" colwidth="0">
+ <colspec colwidth="0">
+ <colspec colname="last" colwidth="0">
+
+ <thead>
+ <row>
+ <entry>参数</entry>
+ <entry>说明</entry>
+ <entry>锁定</entry>
+ </row>
+ </thead>
+'>
+
+<!ENTITY mac.externalize.paramdefs '
+ <paramdef>struct label *<parameter>label</parameter></paramdef>
+ <paramdef>char *<parameter>element_name</parameter></paramdef>
+ <paramdef>struct sbuf *<parameter>sb</parameter></paramdef>
+ <paramdef>int <parameter>*claimed</parameter></paramdef>
+'>
+
+<!ENTITY mac.externalize.tbody '
+ <tbody>
+ <row>
+ <entry><parameter>label</parameter></entry>
+ <entry>将用外部形式表示的标记</entry>
+ </row>
+
+ <row>
+ <entry><parameter>element_name</parameter></entry>
+ <entry>需要外部表示标记的策略的名字</entry>
+ </row>
+
+ <row>
+ <entry><parameter>sb</parameter></entry>
+ <entry>用来存放标记的文本表示形式的字符buffer</entry>
+ </row>
+
+ <row>
+ <entry><parameter>claimed</parameter></entry>
+ <entry>如果可以填充element_data 域,则其数值递增</entry>
+ </row>
+ </tbody>
+'>
+
+<!ENTITY mac.externalize.para "
+ <para>根据传入的标记结构,产生一个以外部形式表示的标记。
+ 一个外部形式标记,是标记内容的文本表示,它由用户级的应用程序使用,是用户可读的。
+ 目前的MAC实现方案将依次调用策略的相应入口函数,因此,
+ 具体策略的实现代码,需要在填写sb之前,先检查element_name中指定的名字。
+ 如果element_name中的内容与你的策略名字不相符,则直接返回0。
+ 仅当转换标记数据的过程中出现错误时,才返回非0值。
+ 一旦策略决定填写element_data,递增*claim的数值。</para>
+">
+
+<!ENTITY mac.internalize.paramdefs '
+ <paramdef>struct label *<parameter>label</parameter></paramdef>
+ <paramdef>char *<parameter>element_name</parameter></paramdef>
+ <paramdef>char *<parameter>element_data</parameter></paramdef>
+ <paramdef>int *<parameter>claimed</parameter></paramdef>
+'>
+
+<!ENTITY mac.internalize.tbody '
+ <tbody>
+ <row>
+ <entry><parameter>label</parameter></entry>
+ <entry>将被填充的标记</entry>
+ </row>
+
+ <row>
+ <entry><parameter>element_name</parameter></entry>
+ <entry>需要内部表示标记的策略的名字</entry>
+ </row>
+
+ <row>
+ <entry><parameter>element_data</parameter></entry>
+ <entry>需要被转换的文本数据</entry>
+ </row>
+
+ <row>
+ <entry><parameter>claimed</parameter></entry>
+ <entry>如果数据被正确转换,则其数值递增</entry>
+ </row>
+ </tbody>
+'>
+
+<!ENTITY mac.internalize.para "
+ <para>根据一个文本形式的外部表示标记数据,创建一个内部形式的标记结构。
+ 目前的MAC方案将依次调用所有策略的相关入口函数,来响应标记的内部转换请求,
+ 因此,实现代码必须首先通过比较element_name中的内容和自己的策略名字,
+ 来确定是否需要转换element_data中存放的数据。
+ 类似的,如果名字不匹配或者数据转换操作成功,该函数返回0,并递增*claimed的值。</para>
+">