About Scanner SDK for Linux

Error/Status Codes

Table 1: Error and Status Codes

Error/Status Code Value Description
SUCCESS 0 Generic success.
STATUS_LOCKED 10 Device is locked by another application.
ERROR_INVALID_APPHANDLE 100 Invalid application handle. Reserved parameter. Value is zero.
ERROR_COMMLIB_UNAVAILABLE 101 Required Comm Lib is unavailable to support the requested Type.
ERROR_NULL_BUFFER_POINTER 102 Null buffer pointer.
ERROR_INVALID_BUFFER_POINTER 103 Invalid buffer pointer.
ERROR_INCORRECT_BUFFER_SIZE 104 Incorrect buffer size.
ERROR_DUPLICATE_TYPES 105 Requested Type IDs are duplicated.
ERROR_INCORRECT_NUMBER_OF_TYPES 106 Incorrect value for number of Types.
ERROR_INVALID_ARG 107 Invalid argument
ERROR_INVALID_SCANNERID 108 Invalid scanner ID.
ERROR_INCORRECT_NUMBER_OF_EVENTS 109 Incorrect value for number of Event IDs.
ERROR_DUPLICATE_EVENTID 110 Event IDs are duplicated.
ERROR_INVALID_EVENTID 111 Invalid value for Event ID.
ERROR_DEVICE_UNAVAILABLE 112 Required device is unavailable.
ERROR_INVALID_OPCODE 113 Opcode is invalid.
ERROR_INVALID_TYPE 114 Invalid value for Type.
ERROR_ASYNC_NOT_SUPPORTED 115 Opcode does not support asynchronous method.
ERROR_OPCODE_NOT_SUPPORTED 116 Device does not support the Opcode.
ERROR_OPERATION_FAILED 117 Operation failed in device.
ERROR_REQUEST_FAILED 118 Request failed in CoreScanner.
ERROR_OPERATION_NOT_SUPPORTED_FOR_ AUXILIARY_SCANNERS 119 Operation not supported for auxiliary scanners.
ERROR_DEVICE_BUSY 120 Device busy. Applications should retry command.
ERROR_ALREADY_OPENED 200 CoreScanner is already opened.
ERROR_ALREADY_CLOSED 201 CoreScanner is already closed.
ERROR_CLOSED 202 CoreScanner is closed.
ERROR_INVALID_INXML 300 Malformed inXML.
ERROR_XMLREADER_NOT_CREATED 301 XML Reader could not be instantiated.
ERROR_XMLREADER_INPUT_NOT_SET 302 Input for XML Reader could not be set.
ERROR_XMLREADER_PROPERTY_NOT_SET 303 XML Reader property could not be set.
ERROR_XMLWRITER_NOT_CREATED 304 XML Writer could not be instantiated.
ERROR_XMLWRITER_OUTPUT_NOT_SET 305 Output for XML Writer could not be set.
ERROR_XMLWRITER_PROPERTY_NOT_SET 306 XML Writer property could not be set.
ERROR_XML_ELEMENT_CANT_READ 307 Cannot read element from XML input.
ERROR_XML_INVALID_ARG 308 Arguments in inXML are not valid.
ERROR_XML_WRITE_FAIL 309 Write to XML output string failed.
ERROR_XML_INXML_EXCEED_LENGTH 310 InXML exceed length.
ERROR_XML_EXCEED_BUFFER_LENGTH 311 Buffer length for type exceeded.
ERROR_NULL_POINTER 400 Null pointer.
ERROR_DUPLICATE_CLIENT 401 Cannot add a duplicate client.
ERROR_FW_INVALID_DATFILE 500 Invalid firmware file.
ERROR_FW_UPDATE_FAILED_IN_SCN 501 Firmware Update failed in scanner.
ERROR_FW_READ_FAILED_DATFILE 502 Failed to read DAT file.
ERROR_FW_UPDATE_INPROGRESS 503 Firmware Update is in progress (cannot proceed another firmware update or another command).
ERROR_FW_UPDATE_ALREADY_ABORTED 504 Firmware update is already aborted.
ERROR_FW_UPDATE_ABORTED 505 Firmware Update aborted.
ERROR_FW_SCN_DETTACHED 506 Scanner is disconnected while updating firmware.
STATUS_FW_SWCOMP_RESIDENT 600 The software component is already resident in the scanner.
STATUS_ERROR_INVALID_CONFIG_FILE 601 Configuration file hash check failed. Tampered *.scncfg file.
STATUS_ERROR_INCOMPATIBLE_CONFIG_FILE 602 Configuration file is not compatible with the selected scanner.
STATUS_ERROR_CONFIG_FILE_SYNTAX_VALIDATION_FAILED 603 Configuration file syntax validation failed


Methods Invoked Through ExecCommand Or ExecCommandAsync

Table 2: List of Methods

Description Method Value
Scanner SDK Commands GET_VERSION 1000
REGISTER_FOR_EVENTS 1001
UNREGISTER_FOR_EVENTS 1002
Scanner Access Control Commands CLAIM_DEVICE 1500
RELEASE_DEVICE 1501
Scanner Common Commands ABORT_MACROPDF 2000
ABORT_UPDATE_FIRMWARE 2001
AIM_OFF 2002
AIM_ON 2003
FLUSH_MACROPDF 2005
DEVICE_PULL_TRIGGER 2011
DEVICE_RELEASE_TRIGGER 2012
SCAN_DISABLE 2013
SCAN_ENABLE 2014
REBOOT_SCANNER 2019
Scanner Operation Mode Commands DEVICE_CAPTURE_IMAGE 3000
DEVICE_CAPTURE_BARCODE 3500
DEVICE_CAPTURE_VIDEO 4000
Scanner Management Commands ATTR_GETALL 5000
ATTR_GET 5001
ATTR_GETNEXT 5002
ATTR_SET 5004
ATTR_STORE 5005
GET_DEVICE_TOPOLOGY 5006
START_NEW_FIRMWARE 5014
UPDATE_FIRMWARE 5016
UPDATE_FIRMWARE_FROM_PLUGIN 5017
Scanner Action Commands SET_ACTION 6000
Other Commands DEVICE_SWITCH_HOST_MODE 6200


Barcode Data Types

Table 3: Barcode Data Types

Barcode Data Type Communication Protocol
SNAPI IBM Hand-held
Code 39 1 1
Codabar 2 2
Code 128 3 3
Discrete (Standard) 2 of 5 4 4
IATA 5 N/A
Interleaved 2 of 5 6 6
Code 93 7 7
UPC-A 8 8
UPC-E0 9 9
EAN-8 10 10
EAN-13 11 11
Code 11 12 N/A
Code 49 13 13
MSI 14 N/A
EAN-128 15 15
UPC-E1 16 N/A
PDF-417 17 17
Code 16K 18 N/A
Code 39 Full ASCII 19 N/A
UPC-D 20 N/A
Code 39 Trioptic 21 N/A
Bookland 22 N/A
Coupon Code 23 N/A
NW-7 24 N/A
ISBT-128 25 N/A
Micro PDF 26 N/A
DataMatrix 27 27
QR Code 28 28
Micro PDF CCA 29 N/A
PostNet US 30 N/A
Planet Code 31 N/A
Code 32 32 N/A
ISBT-128 Con 33 N/A
Japan Postal 34 N/A
Australian Postal 35 N/A
Dutch Postal 36 N/A
MaxiCode 37 37
Canadian Postal 38 N/A
UK Postal 39 N/A
Macro PDF 40 N/A
Micro QR code 44 44
Aztec 45 45
GS1 Databar (RSS-14) 48 48
RSS Limited 49 49
GS1 Databar Expanded (RSS Expanded) 50 50
Scanlet 55 N/A
UPC-A + 2 Supplemental 72 72
UPC-E0 + 2 Supplemental 73 73
EAN-8 + 2 Supplemental 74 74
EAN-13 + 2 Supplemental 75 75
UPC-E1 + 2 Supplemental 80 N/A
CCA EAN-128 81 N/A
CCA EAN-13 82 N/A
CCA EAN-8 83 N/A
CCA RSS Expanded 84 N/A
CCA RSS Limited 85 N/A
CCA RSS-14 86 N/A
CCA UPC-A 87 N/A
CCA UPC-E 88 N/A
CCC EAN-128 89 N/A
TLC-39 90 N/A
CCB EAN-128 97 N/A
CCB EAN-13 98 N/A
CCB EAN-8 99 N/A
CCB RSS Expanded 100 N/A
CCB RSS Limited 101 N/A
CCB RSS-14 102 N/A
CCB UPC-A 103 N/A
CCB UPC-E 104 N/A
Signature Capture 105 N/A
Matrix 2 of 5 113 N/A
Chinese 2 of 5 114 N/A
UPC-A + 5 Supplemental 136 136
UPC-E0 + 5 Supplemental 137 137
EAN-8 + 5 Supplemental 138 138
EAN-13 + 5 Supplemental 139 139
UPC-E1 + 5 Supplemental 144 144
Macro Micro PDF 154 154

N/A indicates that the communication protocol does not support that barcode data type. The SDK typically returns a value of 0 for these data types, but in some cases may identify these as a related data type. For example, Nixdorf Mode B does not support UPC-A + 2 Supplemental but the SDK identifies it as UPC-A.


Action Attributes and Values

Table 4: Action Attributes and Values

Attribute Number Attribute Name Description Data Type Values
6000 Beeper/LED Triggers the beeper/LED via command 'X' 0 - 1 high short beep
1 - 2 high short beeps
2 - 3 high short beeps
3 - 4 high short beeps
4 - 5 high short beeps
5 - 1 low short beep
6 - 2 low short beeps
7 - 3 low short beeps
8 - 4 low short beeps
9 - 5 low short beeps
10 - 1 high long beep
11 - 2 high long beeps
12 - 3 high long beeps
13 - 4 high long beeps
14 - 5 high long beeps
15 - 1 low long beep
16 - 2 low long beeps
17 - 3 low long beeps
18 - 4 low long beeps
19 - 5 low long beeps
20 - Fast warble beep
21 - Slow warble beep
22 - High-low beep
23 - Low-high beep
24 - High-low-high beep
25 - Low-high-low beep
26 - High-high-low-low beep
42 - Green LED off
43 - Green LED on
45 - Yellow LED
46 - Yellow LED off
47 - Red LED on
48 - Red LED off
6001 ParameterDefaults Initiates a parameter defaults command 'X' 0 - Restore Defaults
1 - Restore Factory Defaults
2 - Write Custom Defaults
6003 BeepOnNextBootup Controls whether or not boot up/power up beep is suppressed on the next power up. 'X' 0 - Disable beep on next bootup
1 - Enable beep on next bootup
6004 Reboot Remote reboot command. 'X'
6005 HostTriggerSession Triggers the scanner to start scanning via command. 'X' 0 - start Host Trigger Session
1 - stop Host Trigger Session
6011 StatsReset Reset/default a specific statistic. 'X' The specific statistic attribute to reset. Range: 15002-19999.
6013 StatsResetAll Reset/default all statistics. 'X'
6017 ScaleReadWeight Read Weight from scale. 'A' Byte[0] status:
0 - scaleNotEnabled
1 - scaleNotReady
2 - stableWeightOverLimit
3 - stableWeightUnderZero
4 - nonStableWeight
5 - stableZeroWeight
6 - stableNonZeroWeight
Byte[1] units:
0=kgs
1=lbs
Bytes[2-5] weight in thousandths of units
6018 ScaleZero Zeros the scale. 'X'
6019 ScaleReset Resets the scale. 'X'
6022 ChangeAllCodeTypes Enables/Disables all code types. 'X' 0 = Disable All Code types
1 = Enable All Code Types