aboutsummaryrefslogtreecommitdiff
path: root/zh_CN.GB2312/books/arch-handbook/mac.ent
blob: f16cc59b686f5270ed9cf1f7131e93b684bc22cd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<?xml version="1.0" encoding="gb2312"?>
<!-- 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>
">