Documentation
¶
Index ¶
- Constants
- Variables
- type OSDPCode
- type OSDPMessage
- func (osdpMessage *OSDPMessage) DecryptPayload(key []byte, IVC []byte) error
- func (osdpMessage *OSDPMessage) EncryptPayload(key []byte, IVC []byte) error
- func (osdpMessage *OSDPMessage) GenerateMAC(IVC, SMAC1, SMAC2 []byte) ([]byte, error)
- func (osdpMessage *OSDPMessage) PacketFromMessage() (*OSDPPacket, error)
- type OSDPMessenger
- func (osdpMessenger *OSDPMessenger) ReceiveResponse(timeout time.Duration) (*OSDPMessage, error)
- func (osdpMessenger *OSDPMessenger) SendAndReceive(osdpMessage *OSDPMessage, writeTimeout time.Duration, ...) (*OSDPMessage, error)
- func (osdpMessenger *OSDPMessenger) SendOSDPCommand(osdpMessage *OSDPMessage, timeout time.Duration) error
- type OSDPMessengerEvent
- type OSDPPacket
- func NewPacket(msgCode OSDPCode, peripheralAddress byte, msgData []byte, sequenceNumber byte, ...) (*OSDPPacket, error)
- func NewPacketFromBytes(payload []byte) (*OSDPPacket, error)
- func NewSecurePacket(msgCode OSDPCode, peripheralAddress byte, msgData []byte, secureBlockType byte, ...) (*OSDPPacket, error)
- func (osdpPacket *OSDPPacket) GetMessageCode() byte
- func (osdpPacket *OSDPPacket) GetMessageData() []byte
- func (osdpPacket *OSDPPacket) GetPeripheralAddress() byte
- func (osdpPacket *OSDPPacket) GetSecurityBlockData() []byte
- func (osdpPacket *OSDPPacket) GetSecurityBlockType() byte
- func (osdpPacket *OSDPPacket) GetSequenceNumber() byte
- func (osdpPacket *OSDPPacket) IsSecure() bool
- func (osdpPacket *OSDPPacket) ToBytes() []byte
- type OSDPTransceiver
Constants ¶
View Source
const ( SCS_11 = 0x11 SCS_12 = 0x12 SCS_13 = 0x13 SCS_14 = 0x14 SCS_15 = 0x15 SCS_16 = 0x16 SCS_17 = 0x17 SCS_18 = 0x18 )
View Source
const ( ERR_BAD_CRC = 0x01 ERR_BAD_LEN = 0x02 ERR_BAD_CMD = 0x03 ERR_BAD_SEQ = 0x04 ERR_UNSUPPORTED_SEC = 0x05 ERR_UNMET_SECURITY_CONDITIONS = 0x06 ERR_UNSUPPORTED_BIO_TYPE = 0x07 ERR_UNSUPPORTED_BIO_FORMAT = 0x08 ERR_UNKNOWN = 0x09 )
View Source
const (
OSDPSOM byte = 0x53
)
Variables ¶
View Source
var ( PacketIncompleteError = errors.New("OSDP Packet Incomplete") InvalidSOMError = errors.New("OSDP Packet Invalid SOM") AddressOutOfRangeError = errors.New("Peripheral Address Out of Range") ChecksumFailedError = errors.New("Checksum Failed Error") OSDPReceiveTimeoutError = errors.New("OSDPReceiveTimeout") SecureBlockDataLengthError = errors.New("Secure Block Data Length too large") InvalidSequenceNumber = errors.New("Invalid Sequence Number") IncorrectRandomNumberLength = errors.New("Invalid Random Number byte array length") InvalidSecureBlockType = errors.New("Invalid Secure Block Type") )
Functions ¶
This section is empty.
Types ¶
type OSDPCode ¶
type OSDPCode byte
const ( CMD_POLL OSDPCode = 0x60 CMD_ID OSDPCode = 0x61 CMD_CAP OSDPCode = 0x62 CMD_DIAG OSDPCode = 0x63 CMD_LSTAT OSDPCode = 0x64 CMD_ISTAT OSDPCode = 0x65 CMD_OSTAT OSDPCode = 0x66 CMD_RSTAT OSDPCode = 0x67 CMD_OUT OSDPCode = 0x68 CMD_LED OSDPCode = 0x69 CMD_BUZ OSDPCode = 0x6A CMD_TEXT OSDPCode = 0x6B CMD_COMSET OSDPCode = 0x6E CMD_DATA OSDPCode = 0x6F CMD_PROMPT OSDPCode = 0x71 CMD_BIOREAD OSDPCode = 0x73 CMD_BIOMATCH OSDPCode = 0x74 CMD_KEYSET OSDPCode = 0x75 CMD_CHLNG OSDPCode = 0x76 CMD_SCRYPT OSDPCode = 0x77 CMD_ABORT OSDPCode = 0x7A CMD_MAXREPLY OSDPCode = 0x7B CMD_MFG OSDPCode = 0x80 )
const ( REPLY_ACK OSDPCode = 0x40 REPLY_NAK OSDPCode = 0x41 REPLY_PDID OSDPCode = 0x45 REPLY_PDCAP OSDPCode = 0x46 REPLY_LSTATR OSDPCode = 0x48 REPLY_IASTR OSDPCode = 0x49 REPLY_OSTATR OSDPCode = 0x4A REPLY_RSTATR OSDPCode = 0x4B REPLY_RAW OSDPCode = 0x50 REPLY_FMT OSDPCode = 0x51 REPLY_KEYPAD OSDPCode = 0x53 REPLY_COM OSDPCode = 0x54 REPLY_BIOREADR OSDPCode = 0x57 REPLY_BIOMATCHR OSDPCode = 0x58 REPLY_CCRYPT OSDPCode = 0x76 REPLY_RMAC_I OSDPCode = 0x78 REPLY_MFGREP OSDPCode = 0x90 REPLY_BUSY OSDPCode = 0x79 REPLY_XRD OSDPCode = 0xB1 )
const (
WIEGAND_FORMAT_CODE OSDPCode = 0x01
)
type OSDPMessage ¶
type OSDPMessage struct {
MessageCode OSDPCode
PeripheralAddress byte
MessageData []byte
SequenceNumber byte
Secure bool
SecureBlockType byte
SecureBlockData []byte
Retries uint32
MAC []byte
}
func NewOSDPMessage ¶
func NewSecureOSDPMessage ¶
func (*OSDPMessage) DecryptPayload ¶
func (osdpMessage *OSDPMessage) DecryptPayload(key []byte, IVC []byte) error
func (*OSDPMessage) EncryptPayload ¶
func (osdpMessage *OSDPMessage) EncryptPayload(key []byte, IVC []byte) error
func (*OSDPMessage) GenerateMAC ¶
func (osdpMessage *OSDPMessage) GenerateMAC(IVC, SMAC1, SMAC2 []byte) ([]byte, error)
func (*OSDPMessage) PacketFromMessage ¶
func (osdpMessage *OSDPMessage) PacketFromMessage() (*OSDPPacket, error)
type OSDPMessenger ¶
type OSDPMessenger struct {
// contains filtered or unexported fields
}
func NewOSDPMessenger ¶
func NewOSDPMessenger(transceiver OSDPTransceiver, secure bool) *OSDPMessenger
func (*OSDPMessenger) ReceiveResponse ¶
func (osdpMessenger *OSDPMessenger) ReceiveResponse(timeout time.Duration) (*OSDPMessage, error)
func (*OSDPMessenger) SendAndReceive ¶
func (osdpMessenger *OSDPMessenger) SendAndReceive(osdpMessage *OSDPMessage, writeTimeout time.Duration, readTimeout time.Duration) (*OSDPMessage, error)
func (*OSDPMessenger) SendOSDPCommand ¶
func (osdpMessenger *OSDPMessenger) SendOSDPCommand(osdpMessage *OSDPMessage, timeout time.Duration) error
type OSDPMessengerEvent ¶
type OSDPMessengerEvent int
const ( OSDPDisconnected OSDPMessengerEvent = 0 OSDPConnected OSDPMessengerEvent = 1 OSDPReceiveTimeout OSDPMessengerEvent = 2 OSDPReceiveError OSDPMessengerEvent = 3 OSDPTransmitError OSDPMessengerEvent = 4 )
TODO: propagate event with error codes
type OSDPPacket ¶
type OSDPPacket struct {
// contains filtered or unexported fields
}
func NewPacketFromBytes ¶
func NewPacketFromBytes(payload []byte) (*OSDPPacket, error)
func NewSecurePacket ¶
func (*OSDPPacket) GetMessageCode ¶
func (osdpPacket *OSDPPacket) GetMessageCode() byte
func (*OSDPPacket) GetMessageData ¶
func (osdpPacket *OSDPPacket) GetMessageData() []byte
func (*OSDPPacket) GetPeripheralAddress ¶
func (osdpPacket *OSDPPacket) GetPeripheralAddress() byte
func (*OSDPPacket) GetSecurityBlockData ¶
func (osdpPacket *OSDPPacket) GetSecurityBlockData() []byte
func (*OSDPPacket) GetSecurityBlockType ¶
func (osdpPacket *OSDPPacket) GetSecurityBlockType() byte
func (*OSDPPacket) GetSequenceNumber ¶
func (osdpPacket *OSDPPacket) GetSequenceNumber() byte
func (*OSDPPacket) IsSecure ¶
func (osdpPacket *OSDPPacket) IsSecure() bool
func (*OSDPPacket) ToBytes ¶
func (osdpPacket *OSDPPacket) ToBytes() []byte
Source Files
¶
Click to show internal directories.
Click to hide internal directories.