# {py:mod}`nearlink_sdr.mac.security` ```{py:module} nearlink_sdr.mac.security ``` ```{autodoc2-docstring} nearlink_sdr.mac.security :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`AddrType ` - ```{autodoc2-docstring} nearlink_sdr.mac.security.AddrType :summary: ``` * - {py:obj}`GNodeAddress ` - ```{autodoc2-docstring} nearlink_sdr.mac.security.GNodeAddress :summary: ``` * - {py:obj}`GNodeConfirmCode ` - ```{autodoc2-docstring} nearlink_sdr.mac.security.GNodeConfirmCode :summary: ``` * - {py:obj}`GNodeConfirmCodeWithRandom ` - ```{autodoc2-docstring} nearlink_sdr.mac.security.GNodeConfirmCodeWithRandom :summary: ``` * - {py:obj}`GNodeDHKeyVerify ` - ```{autodoc2-docstring} nearlink_sdr.mac.security.GNodeDHKeyVerify :summary: ``` * - {py:obj}`GNodeIRK ` - ```{autodoc2-docstring} nearlink_sdr.mac.security.GNodeIRK :summary: ``` * - {py:obj}`MulticastAlgorithmConfig ` - ```{autodoc2-docstring} nearlink_sdr.mac.security.MulticastAlgorithmConfig :summary: ``` * - {py:obj}`MulticastKeyConfig ` - ```{autodoc2-docstring} nearlink_sdr.mac.security.MulticastKeyConfig :summary: ``` * - {py:obj}`PairingConfirm ` - ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingConfirm :summary: ``` * - {py:obj}`PairingFailure ` - ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingFailure :summary: ``` * - {py:obj}`PairingInitialInfo ` - ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingInitialInfo :summary: ``` * - {py:obj}`PairingInitiate ` - ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingInitiate :summary: ``` * - {py:obj}`PairingRequest ` - ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingRequest :summary: ``` * - {py:obj}`PairingResponse ` - ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingResponse :summary: ``` * - {py:obj}`RaMessage ` - ```{autodoc2-docstring} nearlink_sdr.mac.security.RaMessage :summary: ``` * - {py:obj}`RbMessage ` - ```{autodoc2-docstring} nearlink_sdr.mac.security.RbMessage :summary: ``` * - {py:obj}`ResolutionAlgorithm ` - ```{autodoc2-docstring} nearlink_sdr.mac.security.ResolutionAlgorithm :summary: ``` * - {py:obj}`RgMessage ` - ```{autodoc2-docstring} nearlink_sdr.mac.security.RgMessage :summary: ``` * - {py:obj}`RtMessage ` - ```{autodoc2-docstring} nearlink_sdr.mac.security.RtMessage :summary: ``` * - {py:obj}`TNodeAddress ` - ```{autodoc2-docstring} nearlink_sdr.mac.security.TNodeAddress :summary: ``` * - {py:obj}`TNodeConfirmCode ` - ```{autodoc2-docstring} nearlink_sdr.mac.security.TNodeConfirmCode :summary: ``` * - {py:obj}`TNodeConfirmCodeWithRandom ` - ```{autodoc2-docstring} nearlink_sdr.mac.security.TNodeConfirmCodeWithRandom :summary: ``` * - {py:obj}`TNodeDHKeyVerify ` - ```{autodoc2-docstring} nearlink_sdr.mac.security.TNodeDHKeyVerify :summary: ``` * - {py:obj}`TNodeIRK ` - ```{autodoc2-docstring} nearlink_sdr.mac.security.TNodeIRK :summary: ``` ```` ### API `````{py:class} AddrType :canonical: nearlink_sdr.mac.security.AddrType ```{autodoc2-docstring} nearlink_sdr.mac.security.AddrType ``` ````{py:attribute} UNION_ALLOCATED :canonical: nearlink_sdr.mac.security.AddrType.UNION_ALLOCATED :value: > 0 ```{autodoc2-docstring} nearlink_sdr.mac.security.AddrType.UNION_ALLOCATED ``` ```` ````{py:attribute} THIRD_PARTY_LOCAL :canonical: nearlink_sdr.mac.security.AddrType.THIRD_PARTY_LOCAL :value: > 2 ```{autodoc2-docstring} nearlink_sdr.mac.security.AddrType.THIRD_PARTY_LOCAL ``` ```` ````{py:attribute} UNION_RESERVED :canonical: nearlink_sdr.mac.security.AddrType.UNION_RESERVED :value: > 5 ```{autodoc2-docstring} nearlink_sdr.mac.security.AddrType.UNION_RESERVED ``` ```` ````{py:attribute} PRIVATE :canonical: nearlink_sdr.mac.security.AddrType.PRIVATE :value: > 6 ```{autodoc2-docstring} nearlink_sdr.mac.security.AddrType.PRIVATE ``` ```` ````` `````{py:class} GNodeAddress :canonical: nearlink_sdr.mac.security.GNodeAddress ```{autodoc2-docstring} nearlink_sdr.mac.security.GNodeAddress ``` ````{py:attribute} addr_type :canonical: nearlink_sdr.mac.security.GNodeAddress.addr_type :type: int :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.GNodeAddress.addr_type ``` ```` ````{py:attribute} addr :canonical: nearlink_sdr.mac.security.GNodeAddress.addr :type: bytes :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.GNodeAddress.addr ``` ```` ````{py:attribute} DATA_TYPE_INDEX :canonical: nearlink_sdr.mac.security.GNodeAddress.DATA_TYPE_INDEX :type: int :value: > 325 ```{autodoc2-docstring} nearlink_sdr.mac.security.GNodeAddress.DATA_TYPE_INDEX ``` ```` ````{py:attribute} BYTE_LENGTH :canonical: nearlink_sdr.mac.security.GNodeAddress.BYTE_LENGTH :type: int :value: > 7 ```{autodoc2-docstring} nearlink_sdr.mac.security.GNodeAddress.BYTE_LENGTH ``` ```` ````{py:method} pack() -> bytes :canonical: nearlink_sdr.mac.security.GNodeAddress.pack ```{autodoc2-docstring} nearlink_sdr.mac.security.GNodeAddress.pack ``` ```` ````{py:method} unpack(data: bytes) -> nearlink_sdr.mac.security.GNodeAddress :canonical: nearlink_sdr.mac.security.GNodeAddress.unpack :classmethod: ```{autodoc2-docstring} nearlink_sdr.mac.security.GNodeAddress.unpack ``` ```` ````` `````{py:class} GNodeConfirmCode :canonical: nearlink_sdr.mac.security.GNodeConfirmCode Bases: {py:obj}`nearlink_sdr.mac.security._BytesMessage` ```{autodoc2-docstring} nearlink_sdr.mac.security.GNodeConfirmCode ``` ````{py:attribute} confirm_code :canonical: nearlink_sdr.mac.security.GNodeConfirmCode.confirm_code :type: bytes :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.GNodeConfirmCode.confirm_code ``` ```` ````{py:attribute} DATA_TYPE_INDEX :canonical: nearlink_sdr.mac.security.GNodeConfirmCode.DATA_TYPE_INDEX :type: int :value: > 319 ```{autodoc2-docstring} nearlink_sdr.mac.security.GNodeConfirmCode.DATA_TYPE_INDEX ``` ```` ````{py:attribute} BYTE_LENGTH :canonical: nearlink_sdr.mac.security.GNodeConfirmCode.BYTE_LENGTH :type: int :value: > 16 ```{autodoc2-docstring} nearlink_sdr.mac.security.GNodeConfirmCode.BYTE_LENGTH ``` ```` ````` `````{py:class} GNodeConfirmCodeWithRandom :canonical: nearlink_sdr.mac.security.GNodeConfirmCodeWithRandom Bases: {py:obj}`nearlink_sdr.mac.security._TwoBytesMessage` ```{autodoc2-docstring} nearlink_sdr.mac.security.GNodeConfirmCodeWithRandom ``` ````{py:attribute} confirm_code :canonical: nearlink_sdr.mac.security.GNodeConfirmCodeWithRandom.confirm_code :type: bytes :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.GNodeConfirmCodeWithRandom.confirm_code ``` ```` ````{py:attribute} ra :canonical: nearlink_sdr.mac.security.GNodeConfirmCodeWithRandom.ra :type: bytes :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.GNodeConfirmCodeWithRandom.ra ``` ```` ````{py:attribute} DATA_TYPE_INDEX :canonical: nearlink_sdr.mac.security.GNodeConfirmCodeWithRandom.DATA_TYPE_INDEX :type: int :value: > 315 ```{autodoc2-docstring} nearlink_sdr.mac.security.GNodeConfirmCodeWithRandom.DATA_TYPE_INDEX ``` ```` ````{py:attribute} BYTE_LENGTH :canonical: nearlink_sdr.mac.security.GNodeConfirmCodeWithRandom.BYTE_LENGTH :type: int :value: > 32 ```{autodoc2-docstring} nearlink_sdr.mac.security.GNodeConfirmCodeWithRandom.BYTE_LENGTH ``` ```` ````` `````{py:class} GNodeDHKeyVerify :canonical: nearlink_sdr.mac.security.GNodeDHKeyVerify Bases: {py:obj}`nearlink_sdr.mac.security._BytesMessage` ```{autodoc2-docstring} nearlink_sdr.mac.security.GNodeDHKeyVerify ``` ````{py:attribute} verify_code :canonical: nearlink_sdr.mac.security.GNodeDHKeyVerify.verify_code :type: bytes :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.GNodeDHKeyVerify.verify_code ``` ```` ````{py:attribute} DATA_TYPE_INDEX :canonical: nearlink_sdr.mac.security.GNodeDHKeyVerify.DATA_TYPE_INDEX :type: int :value: > 321 ```{autodoc2-docstring} nearlink_sdr.mac.security.GNodeDHKeyVerify.DATA_TYPE_INDEX ``` ```` ````{py:attribute} BYTE_LENGTH :canonical: nearlink_sdr.mac.security.GNodeDHKeyVerify.BYTE_LENGTH :type: int :value: > 16 ```{autodoc2-docstring} nearlink_sdr.mac.security.GNodeDHKeyVerify.BYTE_LENGTH ``` ```` ````` `````{py:class} GNodeIRK :canonical: nearlink_sdr.mac.security.GNodeIRK ```{autodoc2-docstring} nearlink_sdr.mac.security.GNodeIRK ``` ````{py:attribute} resolution_algorithm :canonical: nearlink_sdr.mac.security.GNodeIRK.resolution_algorithm :type: int :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.GNodeIRK.resolution_algorithm ``` ```` ````{py:attribute} irk :canonical: nearlink_sdr.mac.security.GNodeIRK.irk :type: bytes :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.GNodeIRK.irk ``` ```` ````{py:attribute} irk_id :canonical: nearlink_sdr.mac.security.GNodeIRK.irk_id :type: int :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.GNodeIRK.irk_id ``` ```` ````{py:attribute} DATA_TYPE_INDEX :canonical: nearlink_sdr.mac.security.GNodeIRK.DATA_TYPE_INDEX :type: int :value: > 323 ```{autodoc2-docstring} nearlink_sdr.mac.security.GNodeIRK.DATA_TYPE_INDEX ``` ```` ````{py:attribute} BYTE_LENGTH :canonical: nearlink_sdr.mac.security.GNodeIRK.BYTE_LENGTH :type: int :value: > 18 ```{autodoc2-docstring} nearlink_sdr.mac.security.GNodeIRK.BYTE_LENGTH ``` ```` ````{py:method} pack() -> bytes :canonical: nearlink_sdr.mac.security.GNodeIRK.pack ```{autodoc2-docstring} nearlink_sdr.mac.security.GNodeIRK.pack ``` ```` ````{py:method} unpack(data: bytes) -> nearlink_sdr.mac.security.GNodeIRK :canonical: nearlink_sdr.mac.security.GNodeIRK.unpack :classmethod: ```{autodoc2-docstring} nearlink_sdr.mac.security.GNodeIRK.unpack ``` ```` ````` `````{py:class} MulticastAlgorithmConfig :canonical: nearlink_sdr.mac.security.MulticastAlgorithmConfig ```{autodoc2-docstring} nearlink_sdr.mac.security.MulticastAlgorithmConfig ``` ````{py:attribute} rand :canonical: nearlink_sdr.mac.security.MulticastAlgorithmConfig.rand :type: bytes :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.MulticastAlgorithmConfig.rand ``` ```` ````{py:attribute} kdf_type :canonical: nearlink_sdr.mac.security.MulticastAlgorithmConfig.kdf_type :type: int :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.MulticastAlgorithmConfig.kdf_type ``` ```` ````{py:attribute} encryption_algo :canonical: nearlink_sdr.mac.security.MulticastAlgorithmConfig.encryption_algo :type: int :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.MulticastAlgorithmConfig.encryption_algo ``` ```` ````{py:attribute} integrity_algo :canonical: nearlink_sdr.mac.security.MulticastAlgorithmConfig.integrity_algo :type: int :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.MulticastAlgorithmConfig.integrity_algo ``` ```` ````{py:attribute} DATA_TYPE_INDEX :canonical: nearlink_sdr.mac.security.MulticastAlgorithmConfig.DATA_TYPE_INDEX :type: int :value: > 328 ```{autodoc2-docstring} nearlink_sdr.mac.security.MulticastAlgorithmConfig.DATA_TYPE_INDEX ``` ```` ````{py:attribute} BYTE_LENGTH :canonical: nearlink_sdr.mac.security.MulticastAlgorithmConfig.BYTE_LENGTH :type: int :value: > 19 ```{autodoc2-docstring} nearlink_sdr.mac.security.MulticastAlgorithmConfig.BYTE_LENGTH ``` ```` ````{py:method} pack() -> bytes :canonical: nearlink_sdr.mac.security.MulticastAlgorithmConfig.pack ```{autodoc2-docstring} nearlink_sdr.mac.security.MulticastAlgorithmConfig.pack ``` ```` ````{py:method} unpack(data: bytes) -> nearlink_sdr.mac.security.MulticastAlgorithmConfig :canonical: nearlink_sdr.mac.security.MulticastAlgorithmConfig.unpack :classmethod: ```{autodoc2-docstring} nearlink_sdr.mac.security.MulticastAlgorithmConfig.unpack ``` ```` ````` `````{py:class} MulticastKeyConfig :canonical: nearlink_sdr.mac.security.MulticastKeyConfig ```{autodoc2-docstring} nearlink_sdr.mac.security.MulticastKeyConfig ``` ````{py:attribute} c :canonical: nearlink_sdr.mac.security.MulticastKeyConfig.c :type: bytes :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.MulticastKeyConfig.c ``` ```` ````{py:attribute} DATA_TYPE_INDEX :canonical: nearlink_sdr.mac.security.MulticastKeyConfig.DATA_TYPE_INDEX :type: int :value: > 329 ```{autodoc2-docstring} nearlink_sdr.mac.security.MulticastKeyConfig.DATA_TYPE_INDEX ``` ```` ````{py:attribute} BYTE_LENGTH :canonical: nearlink_sdr.mac.security.MulticastKeyConfig.BYTE_LENGTH :type: int :value: > 16 ```{autodoc2-docstring} nearlink_sdr.mac.security.MulticastKeyConfig.BYTE_LENGTH ``` ```` ````{py:method} pack() -> bytes :canonical: nearlink_sdr.mac.security.MulticastKeyConfig.pack ```{autodoc2-docstring} nearlink_sdr.mac.security.MulticastKeyConfig.pack ``` ```` ````{py:method} unpack(data: bytes) -> nearlink_sdr.mac.security.MulticastKeyConfig :canonical: nearlink_sdr.mac.security.MulticastKeyConfig.unpack :classmethod: ```{autodoc2-docstring} nearlink_sdr.mac.security.MulticastKeyConfig.unpack ``` ```` ````` `````{py:class} PairingConfirm :canonical: nearlink_sdr.mac.security.PairingConfirm ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingConfirm ``` ````{py:attribute} key_length :canonical: nearlink_sdr.mac.security.PairingConfirm.key_length :type: int :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingConfirm.key_length ``` ```` ````{py:attribute} auth_method :canonical: nearlink_sdr.mac.security.PairingConfirm.auth_method :type: int :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingConfirm.auth_method ``` ```` ````{py:attribute} crypto_algorithm :canonical: nearlink_sdr.mac.security.PairingConfirm.crypto_algorithm :type: bytes :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingConfirm.crypto_algorithm ``` ```` ````{py:attribute} g_public_key_x :canonical: nearlink_sdr.mac.security.PairingConfirm.g_public_key_x :type: bytes :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingConfirm.g_public_key_x ``` ```` ````{py:attribute} g_public_key_y :canonical: nearlink_sdr.mac.security.PairingConfirm.g_public_key_y :type: bytes :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingConfirm.g_public_key_y ``` ```` ````{py:attribute} DATA_TYPE_INDEX :canonical: nearlink_sdr.mac.security.PairingConfirm.DATA_TYPE_INDEX :type: int :value: > 310 ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingConfirm.DATA_TYPE_INDEX ``` ```` ````{py:attribute} BYTE_LENGTH :canonical: nearlink_sdr.mac.security.PairingConfirm.BYTE_LENGTH :type: int :value: > 70 ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingConfirm.BYTE_LENGTH ``` ```` ````{py:method} pack() -> bytes :canonical: nearlink_sdr.mac.security.PairingConfirm.pack ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingConfirm.pack ``` ```` ````{py:method} unpack(data: bytes) -> nearlink_sdr.mac.security.PairingConfirm :canonical: nearlink_sdr.mac.security.PairingConfirm.unpack :classmethod: ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingConfirm.unpack ``` ```` ````` `````{py:class} PairingFailure :canonical: nearlink_sdr.mac.security.PairingFailure ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingFailure ``` ````{py:attribute} reason :canonical: nearlink_sdr.mac.security.PairingFailure.reason :type: int :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingFailure.reason ``` ```` ````{py:attribute} DATA_TYPE_INDEX :canonical: nearlink_sdr.mac.security.PairingFailure.DATA_TYPE_INDEX :type: int :value: > 327 ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingFailure.DATA_TYPE_INDEX ``` ```` ````{py:attribute} BYTE_LENGTH :canonical: nearlink_sdr.mac.security.PairingFailure.BYTE_LENGTH :type: int :value: > 1 ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingFailure.BYTE_LENGTH ``` ```` ````{py:method} pack() -> bytes :canonical: nearlink_sdr.mac.security.PairingFailure.pack ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingFailure.pack ``` ```` ````{py:method} unpack(data: bytes) -> nearlink_sdr.mac.security.PairingFailure :canonical: nearlink_sdr.mac.security.PairingFailure.unpack :classmethod: ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingFailure.unpack ``` ```` ````` `````{py:class} PairingInitialInfo :canonical: nearlink_sdr.mac.security.PairingInitialInfo Bases: {py:obj}`nearlink_sdr.mac.security._TwoBytesMessage` ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingInitialInfo ``` ````{py:attribute} t_public_key_x :canonical: nearlink_sdr.mac.security.PairingInitialInfo.t_public_key_x :type: bytes :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingInitialInfo.t_public_key_x ``` ```` ````{py:attribute} t_public_key_y :canonical: nearlink_sdr.mac.security.PairingInitialInfo.t_public_key_y :type: bytes :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingInitialInfo.t_public_key_y ``` ```` ````{py:attribute} DATA_TYPE_INDEX :canonical: nearlink_sdr.mac.security.PairingInitialInfo.DATA_TYPE_INDEX :type: int :value: > 311 ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingInitialInfo.DATA_TYPE_INDEX ``` ```` ````{py:attribute} BYTE_LENGTH :canonical: nearlink_sdr.mac.security.PairingInitialInfo.BYTE_LENGTH :type: int :value: > 64 ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingInitialInfo.BYTE_LENGTH ``` ```` ````` `````{py:class} PairingInitiate :canonical: nearlink_sdr.mac.security.PairingInitiate ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingInitiate ``` ````{py:attribute} auth_request :canonical: nearlink_sdr.mac.security.PairingInitiate.auth_request :type: int :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingInitiate.auth_request ``` ```` ````{py:attribute} DATA_TYPE_INDEX :canonical: nearlink_sdr.mac.security.PairingInitiate.DATA_TYPE_INDEX :type: int :value: > 307 ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingInitiate.DATA_TYPE_INDEX ``` ```` ````{py:attribute} BYTE_LENGTH :canonical: nearlink_sdr.mac.security.PairingInitiate.BYTE_LENGTH :type: int :value: > 1 ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingInitiate.BYTE_LENGTH ``` ```` ````{py:method} pack() -> bytes :canonical: nearlink_sdr.mac.security.PairingInitiate.pack ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingInitiate.pack ``` ```` ````{py:method} unpack(data: bytes) -> nearlink_sdr.mac.security.PairingInitiate :canonical: nearlink_sdr.mac.security.PairingInitiate.unpack :classmethod: ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingInitiate.unpack ``` ```` ````` `````{py:class} PairingRequest :canonical: nearlink_sdr.mac.security.PairingRequest ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingRequest ``` ````{py:attribute} io_capability :canonical: nearlink_sdr.mac.security.PairingRequest.io_capability :type: int :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingRequest.io_capability ``` ```` ````{py:attribute} oob_data_flag :canonical: nearlink_sdr.mac.security.PairingRequest.oob_data_flag :type: int :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingRequest.oob_data_flag ``` ```` ````{py:attribute} auth_request :canonical: nearlink_sdr.mac.security.PairingRequest.auth_request :type: int :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingRequest.auth_request ``` ```` ````{py:attribute} max_key_length :canonical: nearlink_sdr.mac.security.PairingRequest.max_key_length :type: int :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingRequest.max_key_length ``` ```` ````{py:attribute} security_dist_info :canonical: nearlink_sdr.mac.security.PairingRequest.security_dist_info :type: int :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingRequest.security_dist_info ``` ```` ````{py:attribute} crypto_capability :canonical: nearlink_sdr.mac.security.PairingRequest.crypto_capability :type: bytes :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingRequest.crypto_capability ``` ```` ````{py:attribute} psk_indication :canonical: nearlink_sdr.mac.security.PairingRequest.psk_indication :type: int :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingRequest.psk_indication ``` ```` ````{py:attribute} DATA_TYPE_INDEX :canonical: nearlink_sdr.mac.security.PairingRequest.DATA_TYPE_INDEX :type: int :value: > 308 ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingRequest.DATA_TYPE_INDEX ``` ```` ````{py:attribute} BYTE_LENGTH :canonical: nearlink_sdr.mac.security.PairingRequest.BYTE_LENGTH :type: int :value: > 10 ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingRequest.BYTE_LENGTH ``` ```` ````{py:method} pack() -> bytes :canonical: nearlink_sdr.mac.security.PairingRequest.pack ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingRequest.pack ``` ```` ````{py:method} unpack(data: bytes) -> nearlink_sdr.mac.security.PairingRequest :canonical: nearlink_sdr.mac.security.PairingRequest.unpack :classmethod: ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingRequest.unpack ``` ```` ````` `````{py:class} PairingResponse :canonical: nearlink_sdr.mac.security.PairingResponse ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingResponse ``` ````{py:attribute} io_capability :canonical: nearlink_sdr.mac.security.PairingResponse.io_capability :type: int :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingResponse.io_capability ``` ```` ````{py:attribute} oob_data_flag :canonical: nearlink_sdr.mac.security.PairingResponse.oob_data_flag :type: int :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingResponse.oob_data_flag ``` ```` ````{py:attribute} auth_request :canonical: nearlink_sdr.mac.security.PairingResponse.auth_request :type: int :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingResponse.auth_request ``` ```` ````{py:attribute} max_key_length :canonical: nearlink_sdr.mac.security.PairingResponse.max_key_length :type: int :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingResponse.max_key_length ``` ```` ````{py:attribute} security_dist_info :canonical: nearlink_sdr.mac.security.PairingResponse.security_dist_info :type: int :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingResponse.security_dist_info ``` ```` ````{py:attribute} crypto_capability :canonical: nearlink_sdr.mac.security.PairingResponse.crypto_capability :type: bytes :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingResponse.crypto_capability ``` ```` ````{py:attribute} psk_indication :canonical: nearlink_sdr.mac.security.PairingResponse.psk_indication :type: int :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingResponse.psk_indication ``` ```` ````{py:attribute} DATA_TYPE_INDEX :canonical: nearlink_sdr.mac.security.PairingResponse.DATA_TYPE_INDEX :type: int :value: > 309 ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingResponse.DATA_TYPE_INDEX ``` ```` ````{py:attribute} BYTE_LENGTH :canonical: nearlink_sdr.mac.security.PairingResponse.BYTE_LENGTH :type: int :value: > 10 ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingResponse.BYTE_LENGTH ``` ```` ````{py:method} pack() -> bytes :canonical: nearlink_sdr.mac.security.PairingResponse.pack ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingResponse.pack ``` ```` ````{py:method} unpack(data: bytes) -> nearlink_sdr.mac.security.PairingResponse :canonical: nearlink_sdr.mac.security.PairingResponse.unpack :classmethod: ```{autodoc2-docstring} nearlink_sdr.mac.security.PairingResponse.unpack ``` ```` ````` `````{py:class} RaMessage :canonical: nearlink_sdr.mac.security.RaMessage Bases: {py:obj}`nearlink_sdr.mac.security._BytesMessage` ```{autodoc2-docstring} nearlink_sdr.mac.security.RaMessage ``` ````{py:attribute} ra :canonical: nearlink_sdr.mac.security.RaMessage.ra :type: bytes :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.RaMessage.ra ``` ```` ````{py:attribute} DATA_TYPE_INDEX :canonical: nearlink_sdr.mac.security.RaMessage.DATA_TYPE_INDEX :type: int :value: > 313 ```{autodoc2-docstring} nearlink_sdr.mac.security.RaMessage.DATA_TYPE_INDEX ``` ```` ````{py:attribute} BYTE_LENGTH :canonical: nearlink_sdr.mac.security.RaMessage.BYTE_LENGTH :type: int :value: > 16 ```{autodoc2-docstring} nearlink_sdr.mac.security.RaMessage.BYTE_LENGTH ``` ```` ````` `````{py:class} RbMessage :canonical: nearlink_sdr.mac.security.RbMessage Bases: {py:obj}`nearlink_sdr.mac.security._BytesMessage` ```{autodoc2-docstring} nearlink_sdr.mac.security.RbMessage ``` ````{py:attribute} rb :canonical: nearlink_sdr.mac.security.RbMessage.rb :type: bytes :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.RbMessage.rb ``` ```` ````{py:attribute} DATA_TYPE_INDEX :canonical: nearlink_sdr.mac.security.RbMessage.DATA_TYPE_INDEX :type: int :value: > 314 ```{autodoc2-docstring} nearlink_sdr.mac.security.RbMessage.DATA_TYPE_INDEX ``` ```` ````{py:attribute} BYTE_LENGTH :canonical: nearlink_sdr.mac.security.RbMessage.BYTE_LENGTH :type: int :value: > 16 ```{autodoc2-docstring} nearlink_sdr.mac.security.RbMessage.BYTE_LENGTH ``` ```` ````` `````{py:class} ResolutionAlgorithm :canonical: nearlink_sdr.mac.security.ResolutionAlgorithm ```{autodoc2-docstring} nearlink_sdr.mac.security.ResolutionAlgorithm ``` ````{py:attribute} HMAC_SM3 :canonical: nearlink_sdr.mac.security.ResolutionAlgorithm.HMAC_SM3 :value: > 1 ```{autodoc2-docstring} nearlink_sdr.mac.security.ResolutionAlgorithm.HMAC_SM3 ``` ```` ````{py:attribute} AES_CMAC_128 :canonical: nearlink_sdr.mac.security.ResolutionAlgorithm.AES_CMAC_128 :value: > 2 ```{autodoc2-docstring} nearlink_sdr.mac.security.ResolutionAlgorithm.AES_CMAC_128 ``` ```` ````` `````{py:class} RgMessage :canonical: nearlink_sdr.mac.security.RgMessage Bases: {py:obj}`nearlink_sdr.mac.security._TwoBytesMessage` ```{autodoc2-docstring} nearlink_sdr.mac.security.RgMessage ``` ````{py:attribute} rg_x :canonical: nearlink_sdr.mac.security.RgMessage.rg_x :type: bytes :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.RgMessage.rg_x ``` ```` ````{py:attribute} rg_y :canonical: nearlink_sdr.mac.security.RgMessage.rg_y :type: bytes :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.RgMessage.rg_y ``` ```` ````{py:attribute} DATA_TYPE_INDEX :canonical: nearlink_sdr.mac.security.RgMessage.DATA_TYPE_INDEX :type: int :value: > 328 ```{autodoc2-docstring} nearlink_sdr.mac.security.RgMessage.DATA_TYPE_INDEX ``` ```` ````{py:attribute} BYTE_LENGTH :canonical: nearlink_sdr.mac.security.RgMessage.BYTE_LENGTH :type: int :value: > 64 ```{autodoc2-docstring} nearlink_sdr.mac.security.RgMessage.BYTE_LENGTH ``` ```` ````` `````{py:class} RtMessage :canonical: nearlink_sdr.mac.security.RtMessage Bases: {py:obj}`nearlink_sdr.mac.security._TwoBytesMessage` ```{autodoc2-docstring} nearlink_sdr.mac.security.RtMessage ``` ````{py:attribute} rt_x :canonical: nearlink_sdr.mac.security.RtMessage.rt_x :type: bytes :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.RtMessage.rt_x ``` ```` ````{py:attribute} rt_y :canonical: nearlink_sdr.mac.security.RtMessage.rt_y :type: bytes :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.RtMessage.rt_y ``` ```` ````{py:attribute} DATA_TYPE_INDEX :canonical: nearlink_sdr.mac.security.RtMessage.DATA_TYPE_INDEX :type: int :value: > 329 ```{autodoc2-docstring} nearlink_sdr.mac.security.RtMessage.DATA_TYPE_INDEX ``` ```` ````{py:attribute} BYTE_LENGTH :canonical: nearlink_sdr.mac.security.RtMessage.BYTE_LENGTH :type: int :value: > 64 ```{autodoc2-docstring} nearlink_sdr.mac.security.RtMessage.BYTE_LENGTH ``` ```` ````` `````{py:class} TNodeAddress :canonical: nearlink_sdr.mac.security.TNodeAddress ```{autodoc2-docstring} nearlink_sdr.mac.security.TNodeAddress ``` ````{py:attribute} addr_type :canonical: nearlink_sdr.mac.security.TNodeAddress.addr_type :type: int :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.TNodeAddress.addr_type ``` ```` ````{py:attribute} addr :canonical: nearlink_sdr.mac.security.TNodeAddress.addr :type: bytes :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.TNodeAddress.addr ``` ```` ````{py:attribute} DATA_TYPE_INDEX :canonical: nearlink_sdr.mac.security.TNodeAddress.DATA_TYPE_INDEX :type: int :value: > 326 ```{autodoc2-docstring} nearlink_sdr.mac.security.TNodeAddress.DATA_TYPE_INDEX ``` ```` ````{py:attribute} BYTE_LENGTH :canonical: nearlink_sdr.mac.security.TNodeAddress.BYTE_LENGTH :type: int :value: > 7 ```{autodoc2-docstring} nearlink_sdr.mac.security.TNodeAddress.BYTE_LENGTH ``` ```` ````{py:method} pack() -> bytes :canonical: nearlink_sdr.mac.security.TNodeAddress.pack ```{autodoc2-docstring} nearlink_sdr.mac.security.TNodeAddress.pack ``` ```` ````{py:method} unpack(data: bytes) -> nearlink_sdr.mac.security.TNodeAddress :canonical: nearlink_sdr.mac.security.TNodeAddress.unpack :classmethod: ```{autodoc2-docstring} nearlink_sdr.mac.security.TNodeAddress.unpack ``` ```` ````` `````{py:class} TNodeConfirmCode :canonical: nearlink_sdr.mac.security.TNodeConfirmCode Bases: {py:obj}`nearlink_sdr.mac.security._BytesMessage` ```{autodoc2-docstring} nearlink_sdr.mac.security.TNodeConfirmCode ``` ````{py:attribute} confirm_code :canonical: nearlink_sdr.mac.security.TNodeConfirmCode.confirm_code :type: bytes :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.TNodeConfirmCode.confirm_code ``` ```` ````{py:attribute} DATA_TYPE_INDEX :canonical: nearlink_sdr.mac.security.TNodeConfirmCode.DATA_TYPE_INDEX :type: int :value: > 312 ```{autodoc2-docstring} nearlink_sdr.mac.security.TNodeConfirmCode.DATA_TYPE_INDEX ``` ```` ````{py:attribute} BYTE_LENGTH :canonical: nearlink_sdr.mac.security.TNodeConfirmCode.BYTE_LENGTH :type: int :value: > 16 ```{autodoc2-docstring} nearlink_sdr.mac.security.TNodeConfirmCode.BYTE_LENGTH ``` ```` ````` `````{py:class} TNodeConfirmCodeWithRandom :canonical: nearlink_sdr.mac.security.TNodeConfirmCodeWithRandom Bases: {py:obj}`nearlink_sdr.mac.security._TwoBytesMessage` ```{autodoc2-docstring} nearlink_sdr.mac.security.TNodeConfirmCodeWithRandom ``` ````{py:attribute} confirm_code :canonical: nearlink_sdr.mac.security.TNodeConfirmCodeWithRandom.confirm_code :type: bytes :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.TNodeConfirmCodeWithRandom.confirm_code ``` ```` ````{py:attribute} rb :canonical: nearlink_sdr.mac.security.TNodeConfirmCodeWithRandom.rb :type: bytes :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.TNodeConfirmCodeWithRandom.rb ``` ```` ````{py:attribute} DATA_TYPE_INDEX :canonical: nearlink_sdr.mac.security.TNodeConfirmCodeWithRandom.DATA_TYPE_INDEX :type: int :value: > 316 ```{autodoc2-docstring} nearlink_sdr.mac.security.TNodeConfirmCodeWithRandom.DATA_TYPE_INDEX ``` ```` ````{py:attribute} BYTE_LENGTH :canonical: nearlink_sdr.mac.security.TNodeConfirmCodeWithRandom.BYTE_LENGTH :type: int :value: > 32 ```{autodoc2-docstring} nearlink_sdr.mac.security.TNodeConfirmCodeWithRandom.BYTE_LENGTH ``` ```` ````` `````{py:class} TNodeDHKeyVerify :canonical: nearlink_sdr.mac.security.TNodeDHKeyVerify Bases: {py:obj}`nearlink_sdr.mac.security._BytesMessage` ```{autodoc2-docstring} nearlink_sdr.mac.security.TNodeDHKeyVerify ``` ````{py:attribute} verify_code :canonical: nearlink_sdr.mac.security.TNodeDHKeyVerify.verify_code :type: bytes :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.TNodeDHKeyVerify.verify_code ``` ```` ````{py:attribute} DATA_TYPE_INDEX :canonical: nearlink_sdr.mac.security.TNodeDHKeyVerify.DATA_TYPE_INDEX :type: int :value: > 322 ```{autodoc2-docstring} nearlink_sdr.mac.security.TNodeDHKeyVerify.DATA_TYPE_INDEX ``` ```` ````{py:attribute} BYTE_LENGTH :canonical: nearlink_sdr.mac.security.TNodeDHKeyVerify.BYTE_LENGTH :type: int :value: > 16 ```{autodoc2-docstring} nearlink_sdr.mac.security.TNodeDHKeyVerify.BYTE_LENGTH ``` ```` ````` `````{py:class} TNodeIRK :canonical: nearlink_sdr.mac.security.TNodeIRK ```{autodoc2-docstring} nearlink_sdr.mac.security.TNodeIRK ``` ````{py:attribute} resolution_algorithm :canonical: nearlink_sdr.mac.security.TNodeIRK.resolution_algorithm :type: int :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.TNodeIRK.resolution_algorithm ``` ```` ````{py:attribute} irk :canonical: nearlink_sdr.mac.security.TNodeIRK.irk :type: bytes :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.TNodeIRK.irk ``` ```` ````{py:attribute} irk_id :canonical: nearlink_sdr.mac.security.TNodeIRK.irk_id :type: int :value: > None ```{autodoc2-docstring} nearlink_sdr.mac.security.TNodeIRK.irk_id ``` ```` ````{py:attribute} DATA_TYPE_INDEX :canonical: nearlink_sdr.mac.security.TNodeIRK.DATA_TYPE_INDEX :type: int :value: > 324 ```{autodoc2-docstring} nearlink_sdr.mac.security.TNodeIRK.DATA_TYPE_INDEX ``` ```` ````{py:attribute} BYTE_LENGTH :canonical: nearlink_sdr.mac.security.TNodeIRK.BYTE_LENGTH :type: int :value: > 18 ```{autodoc2-docstring} nearlink_sdr.mac.security.TNodeIRK.BYTE_LENGTH ``` ```` ````{py:method} pack() -> bytes :canonical: nearlink_sdr.mac.security.TNodeIRK.pack ```{autodoc2-docstring} nearlink_sdr.mac.security.TNodeIRK.pack ``` ```` ````{py:method} unpack(data: bytes) -> nearlink_sdr.mac.security.TNodeIRK :canonical: nearlink_sdr.mac.security.TNodeIRK.unpack :classmethod: ```{autodoc2-docstring} nearlink_sdr.mac.security.TNodeIRK.unpack ``` ```` `````