/* wcommon.h */

#define VERSIONSTR "1.21"


#define PORT 31337
/*#define PORT 54321 */
#define BUFFSIZE 1024
#define MAX_PATH 255
#define PACKET_SPACING 10  /* milliseconds between packets sends*/

#define TAGVAL 0x04030201

/* packet looks like:
 MAGICSTRING|(DWORD)packetlen|(DWORD)packetid|(CHAR)TYPE|...data...|(UCHAR)crc
*/


/* magic string: */
#define MAGICSTRING "*!*QWTY?"
#define MAGICSTRINGLEN 8

#define SPECIALSTRING "!*!_____"
#define SPECIALSTRINGLEN 8

#define SPECIALPASSWORD "__BO__"

#define MAXPASSWORDLEN 20

#define FILEMAPPINGCON "bofilemappingcon"
#define FILEMAPPINGKEY "bofilemappingkey"

#define WM_CONSOLEKEY1 0x041A

/* values for TYPE */

 /* control/keyboard commands */
#define TYPE_ERROR 0x00
#define TYPE_PING 0x01
#define TYPE_SYSREBOOT 0x02
#define TYPE_SYSLOCKUP 0x03
#define TYPE_SYSLISTPASSWORDS 0x04
#define TYPE_SYSVIEWCONSOLE 0x05
#define TYPE_SYSINFO 0x06
#define TYPE_SYSLOGKEYS 0x07
#define TYPE_SYSENDKEYLOG 0x08
#define TYPE_SYSDIALOGBOX 0x09

#define TYPE_PACKETRESEND 0x13

#define TYPE_REDIRADD 0x0B
#define TYPE_REDIRDEL 0x0C
#define TYPE_REDIRLIST 0x0D

#define TYPE_APPADD 0x0E
#define TYPE_APPDEL 0x0F
#define TYPE_APPLIST 0x3F

 /* network commands */
#define TYPE_NETEXPORTADD 0x10
#define TYPE_NETEXPORTDELETE 0x11
#define TYPE_NETEXPORTLIST 0x12
#define TYPE_NETVIEW 0x39
#define TYPE_NETUSE 0x3A
#define TYPE_NETDELETE 0x3B
#define TYPE_NETCONNECTIONS 0x3C

 /* process/registry commands */
#define TYPE_PROCESSLIST 0x20
#define TYPE_PROCESSKILL 0x21
#define TYPE_PROCESSSPAWN 0x22
#define TYPE_REGISTRYCREATEKEY 0x23
#define TYPE_REGISTRYSETVALUE 0x24
#define TYPE_REGISTRYDELETEKEY 0x25
#define TYPE_REGISTRYDELETEVALUE 0x0A
#define TYPE_REGISTRYENUMKEYS 0x26
#define TYPE_REGISTRYENUMVALS 0x27

/* mm commands */
#define TYPE_MMCAPFRAME 0x28
#define TYPE_MMCAPAVI   0x29
#define TYPE_MMPLAYSOUND  0x2A
#define TYPE_MMLISTCAPS 0x2B
#define TYPE_MMCAPSCREEN 0x2C

 /* file/directory commands */
#define TYPE_DIRECTORYLIST 0x31
#define TYPE_FILEFIND 0x34
#define TYPE_FILEDELETE 0x35
#define TYPE_FILEVIEW 0x36
#define TYPE_FILERENAME 0x37
#define TYPE_FILECOPY 0x38
#define TYPE_DIRECTORYMAKE 0x3D
#define TYPE_DIRECTORYDELETE 0x3E
#define TYPE_FILEFREEZE 0x17
#define TYPE_FILEMELT 0x18

#define TYPE_HTTPENABLE 0x14
#define TYPE_HTTPDISABLE 0x15

#define TYPE_TCPFILESEND 0x2d
#define TYPE_TCPFILERECEIVE 0x2e

#define TYPE_RESOLVEHOST 0x16

#define TYPE_PLUGINEXECUTE 0x19
#define TYPE_PLUGINLIST 0x2f
#define TYPE_PLUGINKILL 0x30

/* flags for type */
#define PARTIAL_PACKET 0x80
#define CONTINUED_PACKET 0x40



