/usr/include/barry18/barry/protocol.h is in libbarry-dev 0.18.5-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 | ///
/// \file protocol.h
/// USB Blackberry bulk protocol API constants
///
/*
Copyright (C) 2005-2013, Net Direct Inc. (http://www.netdirect.ca/)
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License in the COPYING file at the
root directory of this project for more details.
*/
#ifndef __BARRY_PROTOCOL_H__
#define __BARRY_PROTOCOL_H__
// packet commands (Packet.command: has response codes too)
#define SB_COMMAND_ECHO 0x01
#define SB_COMMAND_ECHO_REPLY 0x02
#define SB_COMMAND_RESET 0x03
#define SB_COMMAND_RESET_REPLY 0x04
#define SB_COMMAND_FETCH_ATTRIBUTE 0x05
#define SB_COMMAND_FETCHED_ATTRIBUTE 0x06
#define SB_COMMAND_SELECT_MODE 0x07
#define SB_COMMAND_MODE_SELECTED 0x08
#define SB_COMMAND_MODE_NOT_SELECTED 0x09
#define SB_COMMAND_OPEN_SOCKET 0x0a
#define SB_COMMAND_CLOSE_SOCKET 0x0b
#define SB_COMMAND_CLOSED_SOCKET 0x0c
#define SB_COMMAND_REMOTE_CLOSE_SOCKET 0x0d
#define SB_COMMAND_PASSWORD_CHALLENGE 0x0e
#define SB_COMMAND_PASSWORD 0x0f
#define SB_COMMAND_OPENED_SOCKET 0x10
#define SB_COMMAND_PASSWORD_FAILED 0x11
#define SB_COMMAND_SEQUENCE_HANDSHAKE 0x13
#define SB_COMMAND_DB_DATA 0x40
#define SB_COMMAND_DB_FRAGMENTED 0x60
#define SB_COMMAND_DB_DONE 0x41
// JavaLoader commands
#define SB_COMMAND_JL_HELLO 0x64 // This could be a general ACK in both directions
#define SB_COMMAND_JL_HELLO_ACK 0x65 // From device after host HELLO
#define SB_COMMAND_JL_GOODBYE 0x8d
#define SB_COMMAND_JL_SET_UNKNOWN1 0x70 // Initial sequence, 0
#define SB_COMMAND_JL_SET_COD_FILENAME 0x80
#define SB_COMMAND_JL_SET_COD_SIZE 0x67 // Always big endian
#define SB_COMMAND_JL_SEND_DATA 0x68
#define SB_COMMAND_JL_SET_TIME 0x7c
#define SB_COMMAND_JL_GET_SCREENSHOT 0x87
#define SB_COMMAND_JL_DEVICE_INFO 0x71
#define SB_COMMAND_JL_OS_METRICS 0x78
#define SB_COMMAND_JL_BOOTROM_METRICS 0x79
#define SB_COMMAND_JL_GET_DIRECTORY 0x6d
#define SB_COMMAND_JL_GET_DATA_ENTRY 0x6e // Used for both DIR and SCREENSHOT
#define SB_COMMAND_JL_GET_SUBDIR 0x7f
#define SB_COMMAND_JL_GET_SUBDIR_ENTRY 0x7d
#define SB_COMMAND_JL_ERASE 0x69
#define SB_COMMAND_JL_FORCE_ERASE 0x7b
#define SB_COMMAND_JL_UNKNOWN3 0x63
#define SB_COMMAND_JL_GET_LOG 0x73
#define SB_COMMAND_JL_GET_LOG_ENTRY 0x74
#define SB_COMMAND_JL_CLEAR_LOG 0x88
#define SB_COMMAND_JL_SAVE_MODULE 0x7e
#define SB_COMMAND_JL_WIPE_APPS 0x6a
#define SB_COMMAND_JL_WIPE_FS 0x6b
#define SB_COMMAND_JL_LOG_STRACES 0x8e
#define SB_COMMAND_JL_RESET_FACTORY 0x91
// JavaLoader response
#define SB_COMMAND_JL_ACK 0x64
#define SB_COMMAND_JL_READY 0x01
#define SB_COMMAND_JL_RESET_REQUIRED 0x78 // Occurs after GOODBYE when handheld reset is required
#define SB_COMMAND_JL_COD_IN_USE 0x6c // Perhaps "BUSY" is also a good name?
#define SB_COMMAND_JL_COD_NOT_FOUND 0x69
#define SB_COMMAND_JL_NOT_ENOUGH_MEMORY 0x6a // Occurs when the internal memory isn't enough to install the new COD file
#define SB_COMMAND_JL_NOT_SUPPORTED 0x71 // Occurs when device does not support a command
// JavaLoader data
#define SB_DATA_JL_SUCCESS 0x64 // Device has accepted the data packet
#define SB_DATA_JL_INVALID 0x68 // Device returns this code if the application isn't valid.
// JDWP Command set list
#define JDWP_CMDSET_VIRTUALMACHINE 1
#define JDWP_CMDSET_REFERECENTYPE 2
#define JDWP_CMDSET_CLASSTYPE 3
#define JDWP_CMDSET_ARRAYTYPE 4
#define JDWP_CMDSET_INTERFACETYPE 5
#define JDWP_CMDSET_METHOD 6
#define JDWP_CMDSET_FIELD 8
#define JDWP_CMDSET_OBJECTREFERENCE 9
#define JDWP_CMDSET_STRINGREFERENCE 10
#define JDWP_CMDSET_THREADREFERENCE 11
#define JDWP_CMDSET_THREADGROUPREFERENCE 12
#define JDWP_CMDSET_ARRAYREFERENCE 13
#define JDWP_CMDSET_CLASSLOADERREFERENCE 14
#define JDWP_CMDSET_EVENTREQUEST 15
#define JDWP_CMDSET_STACKFRAME 16
#define JDWP_CMDSET_CLASSOBJECTREFERENCE 17
#define JDWP_CMDSET_EVENT 64
// JDWP Command list - VirtualMachine
#define JDWP_CMD_VERSION 1
#define JDWP_CMD_ALLCLASSES 3
#define JDWP_CMD_ALLTHREADS 4
#define JDWP_CMD_DISPOSE 6
#define JDWP_CMD_IDSIZES 7
#define JDWP_CMD_SUSPEND 8
#define JDWP_CMD_RESUME 9
#define JDWP_CMD_CLASSPATHS 13
// JDWP Command list - EventRequest
#define JDWP_CMD_SET 1
// JVMDebug commands
#define SB_COMMAND_JVM_UNKNOWN01 0x53
#define SB_COMMAND_JVM_UNKNOWN02 0x01
#define SB_COMMAND_JVM_UNKNOWN03 0x6f
#define SB_COMMAND_JVM_UNKNOWN04 0x8a
#define SB_COMMAND_JVM_UNKNOWN05 0x90
#define SB_COMMAND_JVM_UNKNOWN06 0x44
#define SB_COMMAND_JVM_UNKNOWN07 0x45
#define SB_COMMAND_JVM_UNKNOWN08 0x54
#define SB_COMMAND_JVM_UNKNOWN09 0x33
#define SB_COMMAND_JVM_UNKNOWN10 0x46
#define SB_COMMAND_JVM_UNKNOWN11 0x0e
#define SB_COMMAND_JVM_UNKNOWN12 0x50
#define SB_COMMAND_JVM_UNKNOWN13 0x0d
#define SB_COMMAND_JVM_UNKNOWN14 0x85
#define SB_COMMAND_JVM_UNKNOWN15 0x84
#define SB_COMMAND_JVM_GET_MODULES_LIST 0x8d // Get all Java modules list with their address and ID
#define SB_COMMAND_JVM_GET_THREADS_LIST 0x08 // Get all threads currently running in the virtual machine
#define SB_COMMAND_JVM_GET_CONSOLE_MSG 0x40 // Get console message
#define SB_COMMAND_JVM_GO 0x02 // Go
#define SB_COMMAND_JVM_GET_STATUS 0x06 // Get status
#define SB_COMMAND_JVM_SET_BREAKPOINT 0x21 // Set breakpoint
#define SB_COMMAND_JVM_RM_BREAKPOINT 0x22 // Remove breakpoint
#define SB_COMMAND_JVM_STOP 0xa502
// JavaDebug response
#define SB_COMMAND_JVM_GET_DATA_ENTRY 0x06
// mode constants
#define SB_MODE_REQUEST_SOCKET 0x00ff
// object and attribute ID codes (for ZeroPacket::GetAttribute())
// meanings for most of these are unknown
#define SB_OBJECT_INITIAL_UNKNOWN 0x14
#define SB_ATTR_INITIAL_UNKNOWN 0x01
#define SB_OBJECT_PROFILE 0x08
#define SB_ATTR_PROFILE_DESC 0x02
#define SB_ATTR_PROFILE_PIN 0x04
#define SB_OBJECT_SOCKET_UNKNOWN 0x04
// param command parameters
//#define SB_PARAM_DEFAULT 0xff
// DB Operation Command
#define SB_DBOP_ADD_RECORD 0x41
#define SB_DBOP_CLEAR_DATABASE 0x43
#define SB_DBOP_GET_DBDB 0x4a
#define SB_DBOP_OLD_GET_DBDB 0x4c
#define SB_DBOP_GET_COUNT 0x4e
#define SB_DBOP_GET_RECORDS 0x4f
#define SB_DBOP_OLD_GET_RECORDS 0x42
#define SB_DBOP_OLD_GET_RECORDS_REPLY 0x44
#define SB_DBOP_GET_RECORD_STATE_TABLE 0x53 // replies with 0x60, 0x41
#define SB_DBOP_SET_RECORD_FLAGS 0x54 // replies with 0x41
// used to clear dirty flag
#define SB_DBOP_GET_RECORD_BY_INDEX 0x46 // replies with 0x44
// John's device uses 0x50, with a reply of 0x4f (!)
// Then uses 0x55 as usual
// Delete uses 0x50/0x4f to check as well, then uses 0x52 as
// usual to do the actual delete.
#define SB_DBOP_SET_RECORD_BY_INDEX 0x55 // replies with 0x41
#define SB_DBOP_DELETE_RECORD_BY_INDEX 0x52 // intellisync does a GET(0x46)
// first, probably to make sure
// it has the right data and
// record
#endif
|