参数 说明 锁定 '> struct label *label char *element_name struct sbuf *sb int *claimed '> label 将用外部形式表示的标记 element_name 需要外部表示标记的策略的名字 sb 用来存放标记的文本表示形式的字符buffer claimed 如果可以填充element_data 域,则其数值递增 '> 根据传入的标记结构,产生一个以外部形式表示的标记。 一个外部形式标记,是标记内容的文本表示,它由用户级的应用程序使用,是用户可读的。 目前的MAC实现方案将依次调用策略的相应入口函数,因此, 具体策略的实现代码,需要在填写sb之前,先检查element_name中指定的名字。 如果element_name中的内容与你的策略名字不相符,则直接返回0。 仅当转换标记数据的过程中出现错误时,才返回非0值。 一旦策略决定填写element_data,递增*claim的数值。 "> struct label *label char *element_name char *element_data int *claimed '> label 将被填充的标记 element_name 需要内部表示标记的策略的名字 element_data 需要被转换的文本数据 claimed 如果数据被正确转换,则其数值递增 '> 根据一个文本形式的外部表示标记数据,创建一个内部形式的标记结构。 目前的MAC方案将依次调用所有策略的相关入口函数,来响应标记的内部转换请求, 因此,实现代码必须首先通过比较element_name中的内容和自己的策略名字, 来确定是否需要转换element_data中存放的数据。 类似的,如果名字不匹配或者数据转换操作成功,该函数返回0,并递增*claimed的值。 ">