2.2.4.3.4.2 产生 该原语由APSME产生作为APSME-UNBIND.request原语的响应发送给NHLE。如果请求成功,那么状态参数将表明一个成功的解除绑定请求。否则,状态参数则为错误码ILLEGAL_DEVICE、 ILLEGAL_REQUEST 或INVALID_BINDING。 2.2.4.3.4.3 接收 接收到该原语,上层就被通知其解除绑定请求的结果。如果解除绑定请求成功,状态参数设置为SUCCESS。否则,状态参数表明错误。 2.2.4.4 信息库的维护 这组原语定义了设备上层如何读取和写入AIB中的属性。 2.2.4.4.1 APSME-GET.request 该原语允许设备上层从AIB中读取属性值。 2.2.4.4.1.1 服务原语的语法 该原语的语法如下:
APSME-GET.request { AIBAttribute }
表2.10描述了该原语的参数。
2.2.4.4.1.2 产生 该原语由上层产生并发送给APSME来读取AIB中的属性。 2.2.4.4.1.3 接收 接收到该原语,APSME试图从数据库中得到AIB属性。如果在数据库中没有相应的AIB属性表标识符,APSME将发送状态参数为UNSUPPORTED_ATTRIBUTE的APSME-GET.confirm原语。 如果成功得到了AIB属性,APSME将发送状态参数为SUCCESS,包含AIB属性标识符和属性值的APSME-GET.confirm原语。 2.2.4.4.2 APSME-GET.confirm 该原语向上层报告从AIB中读取属性值的结果。 2.2.4.4.2.1 服务原语的语法 该原语的语法如下:
APSME-GET.confirm { Status AIBAttribute AIBAttributeLength AIBAttributeValue }
表2.11描述了该原语的参数。
2.2.4.4.2.2 产生 该原语由APSME产生,发送给上层作为对APSME-GET.request原语的响应。该原语返回状态SUCCESS,表明请求读取AIB属性请求成功,或者返回错误码UNSUPPORTED_ATTRIBUTE.这些状态在2.2.4.4.1.3小节进行了描述。 2.2.4.4.2.3 接收 接收到该原语,上层得知读取AIB属性请求的结果。如果读取AIB属性请求成功,状态参数设置为SUCCESS。否则,状态参数表明错误。 2.2.4.4.3 ASPME-SET.request 该原语允许设备上层将属性值写入AIB。 2.2.4.4.3.1 服务原语的语法 该原语的语法如下: APSME-SET.request { AIBAttribute AIBAttributeLength AIBAttributeValue }
表2.12描述了该原语的参数。
2.2.4.4.3.2 产生 该原语由上层产生并发送给APSME在AIB中写入一个属性值。 2.2.4.4.3.3 接收 接收到该原语,APSME试图将给定的数据库中的值写入AIB属性。如果在数据库中没有AIB属性参数指定的属性,APSME将发送状态参数为UNSUPPORTED_ATTRIBUTE的APSME-SET.confirm原语。如果AIB属性值参数给定的值超过了有效的属性范围,APSME将发送状态参数为INVALID_PARAMETER的APSME-SET.confirm原语。 如果成功写入了AIB属性,APSME将发送状态参数为SUCCESS的APSME-SET.confirm原语。 2.2.4.4.4 APSME-SET.confirm 该原语向上层报告向AIB属性中写入属性值的结果。 2.2.4.4.4.1 服务原语的语法 该原语的语法如下:
APSME-SET.confirm { Status AIBAttribute }
表2.13描述了该原语的参数。
2.2.4.4.4.2 产生 该原语由APSME产生,发送给上层作为对APSME-SET.request原语的响应。该原语返回状态SUCCESS,表明将属性值写入AIB属性的请求成功,或者返回错误码INVALID_PARAMETER或UNSUPPORTED_ATTRIBUTE.这些状态在2.2.4.4.3.3小节进行了描述。 2.2.4.4.4.3 接收 接收到该原语,上层得知写入AIB属性请求的结果。如果写入AIB属性请求成功,状态参数设置为SUCCESS。否则,状态参数表明错误。 2.2.4.5 组管理 这组原语允许上层在当前设备中通过在组表中添加和移除入口来管理每个端点的组关系。 2.2.4.5.1 APSME-ADD-GROUP.request 该原语允许上层请求一个特定的组的组关系加入到特定的端点。 2.2.4.5.1.1 服务原语的语法 该原语的语法如下:
APSME-ADD-GROUP.request { GroupAddress Endpoint }
表2.14描述了该原语的参数。
2.2.4.5.1.2 产生 当上层要将一个特定组的关系加入一个端点时产生该原语,设置了组地址的帧将被传送给该端点。 2.2.4.5.1.3 接收 如果接收到该原语,其GroupAddress参数的值超出了有效范围,APSME将向上层发送状态参数为INVALID_PARAMETER的APSME-ADD-GROUP.condirm原语。同样,如果Endpoint参数值为0x00或当前设备的其它没有执行的端点,APSME将发送状态参数为INVALID_PARAMETER的APSME-ADD-GRROUP.confirm原语。 完成上述参数检测后,APSME将检查组表中是否存在包含给定参数GroupAddress和Endpoint的入口。如果该入口已存在于组表中,APSME将向上层发送状态参数为SUCCESS的APSME-ADD-GROUP.confirm原语。如果没有该入口,表中还有入口空间,APSME将在组表中建立一个新的入口,其参数为给定的GroupAddress和Endpoint值。入口加入到APS组表后,APSME将发送NLME-SET.request原语来确保相应的网络层组表中的nwkGroupIDTable属性与APS子层中的组表包含的组地址列表相一致。一旦两个表一致了,APSME将向上层发送状态参数为SUCCESS的APSME-ADD-GROUP.confirm原语。如果没有给定参数GroupAddress和Endpoint的入口并且组表中没有建立另一个入口的空间,APSME将向上层发送状态参数为TABLE_FULL的APSME-ADD-GROUP.confirm原语。 2.2.4.5.2 APSME-ADD-GROUP.confirm 该原语使得设备得知其将一个组添加到端点的请求结果。 2.2.4.5.2.1 服务原语的语法 该原语的语法如下:
APSME-ADD-GROUP.confirm { Status GroupAddress Endpoint }
表2.15描述了该原语的参数。
2.2.4.5.2.2 产生 该原语由APSME产生并发送给上层作为对APSME-ADD-GROUP.request原语的响应。如果APSME-ADD-GROUP.request成功,那么状态参数值为SUCCESS。如果APSME-ADD-GROUP.request中的参数为无效值,那么状态产生设置为INVALID_PARAMETER。如果APSME试图加入一个组表入口,但表中已没有加入其它入口的空间,状态参数设置为TABLE_FULL。 2.2.4.5.2.3 接收 上层接收到该原语,则得知添加组请求的结果。状态参数值如上面所述。 2.2.4.5.3 APSME-REMOVE-GROUP.request 该原语允许上层请求将一个特定的组的组关系从特定的端点中移除。 2.2.4.5.3.1 服务原语的语法 该原语的语法如下:
APSME-REMOVE-GROUP.request { GroupAddress Endpoint }
表2.16描述了该原语的参数。
2.2.4.5.3.2 产生 当上层要将一个特定组的关系从一个端点中移除时产生该原语,设置了组地址的帧将不被传送给该端点。 2.2.4.5.3.3 接收 如果接收到该原语,其GroupAddress参数的值超出了有效范围,APSME将向上层发送状态参数为INVALID_PARAMETER的APSME-REMOVE-GROUP.condirm原语。同样,如果Endpoint参数值为0x00或当前设备的其它没有执行的端点,APSME将发送状态参数为INVALID_PARAMETER的APSME-REMOVE-GRROUP.confirm原语。 完成上述参数检测后,APSME将检查组表中是否存在包含给定参数GroupAddress和Endpoint的入口。如果该入口已存在于组表中,该入口将被移除。APSME将发送NLME-SET.request原语来确保相应的网络层组表中的nwkGroupIDTable属性与APS子层中的组表包含的组地址列表相一致。一旦两个表一致了,APSME将向上层发送状态参数为SUCCESS的APSME-REMOVE-GROUP.confirm原语。如果没有该入口,APSME将向上层发送状态参数为SUCCESS的APSME-REMOVE-GROUP.confirm原语。 2.2.4.5.4 APSME-REMOVE-GROUP.confirm 该原语使得设备得知其将一个组从端点中移除的请求结果。 2.2.4.5.4.1 服务原语的语法 该原语的语法如下:
APSME-REMOVE-GROUP.confirm { Status GroupAddress Endpoint }
表2.17描述了该原语的参数。
2.2.4.5.4.2 产生 该原语由APSME产生并发送给上层作为对APSME-REMOVE-GROUP.request原语的响应。如果APSME-REMOVE-GROUP.request成功,那么状态参数值为SUCCESS。如果APSME-REMOVE-GROUP.request中有参数为无效值,那么状态产生设置为INVALID_PARAMETER。 2.2.4.5.4.3 接收 上层接收到该原语,则得知移除组请求的结果。状态参数值如上面所述。 2.2.4.5.5 APSME-REMOVE-ALL-GROUP.request 当上层想要将所有组中的关系从端点中移除时产生该原语,因此,没有组地址的帧传送给端点。 2.2.4.5.5.1 服务原语的语法 该原语的语法如下:
APSME-REMOVE-ALL-GROUPS.request { Endpoint }
表2.18描述了该原语的参数。
2.2.4.5.5.2 产生 当上层想要将所有组中的关系从端点中移除时产生该原语,因此,没有组地址的帧传送给端点。 2.2.4.5.5.3 接收 接收到该原语,如果Endpoint参数值为0x00或当前设备的其它没有执行的端点,APSME将发送状态参数为INVALID_PARAMETER的APSME-REMOVE-ALL-GRROUP.confirm原语。 完成上述参数Endpoint检测后,APSME将从组表中移除所有与该端点相关的入口。APSME将发送NLME-SET.request原语来确保相应的网络层组表中的nwkGroupIDTable属性与APS子层中的组表包含的组地址列表相一致。一旦两个表一致了,APSME将向上层发送状态参数为SUCCESS的APSME-REMOVE-ALL-GROUP.confirm原语。 2.2.4.5.6 APSME-REMOVE-ALL-GROUP.confirm 该原语使得设备得知其从一个端点中移除所有组的请求结果。 2.2.4.5.6.1 服务原语的语法 该原语的语法如下:
表2.19描述了该原语的参数。
2.2.4.5.6.2 产生 该原语由APSME产生并发送给上层作为对APSME-REMOVE-ALL-GROUP.request原语的响应。如果APSME-REMOVE-ALL-GROUP.request成功,那么状态参数值为SUCCESS。如果APSME-REMOVE-ALL-GROUP.request中有参数为无效值,那么状态产生设置为INVALID_PARAMETER。 2.2.4.5.6.3 接收 上层接收到该原语,则得知从端点中移除所有组请求的结果。状态参数值如上面所述。
|