blob: 76a5938a76a918cc9741a6da4921a8f43b359a38 (
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
99
100
101
102
103
104
105
106
107
108
109
110
111
|
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $FreeBSD$ -->
<!ENTITY mac.mpo "mpo">
<!ENTITY mac.thead '
<colspec xmlns="http://docbook.org/ns/docbook" colname="first" colwidth="0"/>
<colspec xmlns="http://docbook.org/ns/docbook" colwidth="0"/>
<colspec xmlns="http://docbook.org/ns/docbook" colname="last" colwidth="0"/>
<thead xmlns="http://docbook.org/ns/docbook">
<row>
<entry>Parameter</entry>
<entry>Description</entry>
<entry>Locking</entry>
</row>
</thead>
'>
<!ENTITY mac.externalize.paramdefs '
<paramdef xmlns="http://docbook.org/ns/docbook">struct label *<parameter>label</parameter></paramdef>
<paramdef xmlns="http://docbook.org/ns/docbook">char *<parameter>element_name</parameter></paramdef>
<paramdef xmlns="http://docbook.org/ns/docbook">struct sbuf *<parameter>sb</parameter></paramdef>
<paramdef xmlns="http://docbook.org/ns/docbook">int <parameter>*claimed</parameter></paramdef>
'>
<!ENTITY mac.externalize.tbody '
<tbody xmlns="http://docbook.org/ns/docbook">
<row>
<entry><parameter>label</parameter></entry>
<entry>Label to be externalized</entry>
</row>
<row>
<entry><parameter>element_name</parameter></entry>
<entry>Name of the policy whose label should be externalized</entry>
</row>
<row>
<entry><parameter>sb</parameter></entry>
<entry>String buffer to be filled with a text representation of
label</entry>
</row>
<row>
<entry><parameter>claimed</parameter></entry>
<entry>Should be incremented when <parameter>element_data</parameter>
can be filled in.</entry>
</row>
</tbody>
'>
<!ENTITY mac.externalize.para '
<para xmlns="http://docbook.org/ns/docbook">Produce an externalized label based on the label structure passed.
An externalized label consists of a text representation of the label
contents that can be used with userland applications and read by the
user. Currently, all policies' <function>externalize</function> entry
points will be called, so the implementation should check the contents
of <parameter>element_name</parameter> before attempting to fill in
<parameter>sb</parameter>. If
<parameter>element_name</parameter> does not match the name of your
policy, simply return <returnvalue>0</returnvalue>. Only return nonzero
if an error occurs while externalizing the label data. Once the policy
fills in <parameter>element_data</parameter>, <varname>*claimed</varname>
should be incremented.</para>
'>
<!ENTITY mac.internalize.paramdefs '
<paramdef xmlns="http://docbook.org/ns/docbook">struct label *<parameter>label</parameter></paramdef>
<paramdef xmlns="http://docbook.org/ns/docbook">char *<parameter>element_name</parameter></paramdef>
<paramdef xmlns="http://docbook.org/ns/docbook">char *<parameter>element_data</parameter></paramdef>
<paramdef xmlns="http://docbook.org/ns/docbook">int *<parameter>claimed</parameter></paramdef>
'>
<!ENTITY mac.internalize.tbody '
<tbody xmlns="http://docbook.org/ns/docbook">
<row>
<entry><parameter>label</parameter></entry>
<entry>Label to be filled in</entry>
</row>
<row>
<entry><parameter>element_name</parameter></entry>
<entry>Name of the policy whose label should be internalized</entry>
</row>
<row>
<entry><parameter>element_data</parameter></entry>
<entry>Text data to be internalized</entry>
</row>
<row>
<entry><parameter>claimed</parameter></entry>
<entry>Should be incremented when data can be successfully
internalized.</entry>
</row>
</tbody>
'>
<!ENTITY mac.internalize.para '
<para xmlns="http://docbook.org/ns/docbook">Produce an internal label structure based on externalized label data
in text format. Currently, all policies' <function>internalize</function>
entry points are called when internalization is requested, so the
implementation should compare the contents of
<parameter>element_name</parameter> to its own name in order to be sure
it should be internalizing the data in <parameter>element_data</parameter>.
Just as in the <function>externalize</function> entry points, the entry
point should return <returnvalue>0</returnvalue> if
<parameter>element_name</parameter> does not match its own name, or when
data can successfully be internalized, in which case
<varname>*claimed</varname> should be incremented.</para>
'>
|