home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Amiga 12 / MA_Cover_12.iso / libs / palmlink / developer / include / libraries / palmlink.i < prev   
Encoding:
Text File  |  1998-09-25  |  10.1 KB  |  273 lines

  1. ******************************************************************
  2. **                                                              **
  3. ** PalmLink Header File                                         **
  4. **                                                              **
  5. ******************************************************************
  6. **
  7. ** (C) 1998 Richard Körber -- all rights reserved
  8. **
  9. ******************************************************************
  10.  
  11.         IFND    LIBRARIES_PALMLINK_I
  12. LIBRARIES_PALMLINK_I    SET     1
  13.  
  14.         IFND    EXEC_TYPES_I
  15.         INCLUDE 'exec/types.i'
  16.         ENDC
  17.  
  18.         IFND    UTILITY_TAGITEM_I
  19.         INCLUDE utility/tagitem.i
  20.         ENDC
  21.  
  22. **--------------------------------------------------------------**
  23. ** Generic library informations
  24. **
  25. PALMLINKNAME    MACRO
  26.         dc.b    "palmlink.library",0
  27.         ENDM
  28.  
  29. PALMLINKVERSION EQU     1
  30.  
  31. **--------------------------------------------------------------**
  32. **    Tags
  33. **
  34. PLTAG_BASE              EQU     $8FEA0000       ; Base for all TagItems
  35. PLTAG_ErrorPtr          EQU     PLTAG_BASE+$00  ; Pointer to LONG for error code result
  36. PLTAG_SerialDevice      EQU     PLTAG_BASE+$01  ; Device name
  37. PLTAG_SerialUnit        EQU     PLTAG_BASE+$02  ; Device unit nr.
  38. PLTAG_SerialMaxRate     EQU     PLTAG_BASE+$03  ; Maximum baud rate
  39. PLTAG_SerialTimeout     EQU     PLTAG_BASE+$04  ; Timeout (seconds)
  40. PLTAG_AbortMask         EQU     PLTAG_BASE+$05  ; Signal mask for abortion, e.g. CTRL-C
  41.  
  42.  
  43. **--------------------------------------------------------------**
  44. **    Desktop Link Protocol
  45. **
  46. ;--- System Time ---
  47.     STRUCTURE DLP_SysTime,0
  48.     UWORD   dlpst_year              ; Year
  49.     UBYTE   dlpst_month             ; Month
  50.     UBYTE   dlpst_day               ; Day
  51.     UBYTE   dlpst_hour              ; Hour
  52.     UBYTE   dlpst_minute            ; Minute
  53.     UBYTE   dlpst_second            ; Second
  54.     UBYTE   dlpst_pad               ; (always SET to 0)
  55.     LABEL   dlpst_SIZEOF
  56.  
  57. ;--- RAM/ROM card info ---
  58.     STRUCTURE DLP_StorageInfo,0
  59.     UWORD   dlpsi_cardVersion       ; Version
  60.     STRUCT  dlpsi_creationDate,dlpst_SIZEOF ; Creation date
  61.     ULONG   dlpsi_ROMSize           ; Size of ROM
  62.     ULONG   dlpsi_RAMSize           ; Size of RAM
  63.     ULONG   dlpsi_RAMFree           ; Free RAM
  64.     STRUCT  dlpsi_name,128          ; Card name
  65.     STRUCT  dlpsi_manuf,128         ; Card manufacturer
  66.     UBYTE   dlpsi_cardNo            ; Card No.
  67.     UBYTE   dlpsi_more              ; BOOL: more cards?
  68.     LABEL   dlpsi_SIZEOF
  69.  
  70. ;--- System Info ---
  71.     STRUCTURE DLP_SysInfo,0
  72.     ULONG   dlpsy_romVer            ; ROM Version
  73.     ULONG   dlpsy_locale            ; Localizion code
  74.     STRUCT  dlpsy_name,128          ; System name
  75.     LABEL   dlpsy_SIZEOF
  76.  
  77. ;--- User Info ---
  78.     STRUCTURE DLP_UserInfo,0
  79.     ULONG   dlpui_userID
  80.     ULONG   dlpui_viewerID
  81.     ULONG   dlpui_lastSyncPC
  82.     STRUCT  dlpui_successfulSync,dlpst_SIZEOF
  83.     STRUCT  dlpui_lastSync,dlpst_SIZEOF
  84.     STRUCT  dlpui_userName,128
  85.     STRUCT  dlpui_password,128
  86.     LABEL   dlpui_SIZEOF
  87.  
  88. ;--- Netsync Info ---
  89.     STRUCTURE DLP_NetSyncInfo,0
  90.     UWORD   dlpns_lanSync
  91.     STRUCT  dlpns_hostName,256
  92.     STRUCT  dlpns_hostAddress,40
  93.     STRUCT  dlpns_hostSubnetMask,40
  94.     LABEL   dlpns_SIZEOF
  95.  
  96. ;--- Database Info ---
  97.     STRUCTURE DLP_DBInfo,0
  98.     UBYTE   dlpdi_more              ; BOOL: more databases?
  99.     UBYTE   dlpdi_excludes          ; Exclude flags, see below
  100.     UWORD   dlpdi_flags             ; Entry flags, see below
  101.     ULONG   dlpdi_type              ; Type ID
  102.     ULONG   dlpdi_creator           ; Creator ID
  103.     UWORD   dlpdi_version           ; Version
  104.     ULONG   dlpdi_modnum            ; Modification Number
  105.     STRUCT  dlpdi_createDate,dlpst_SIZEOF   ; Creation date
  106.     STRUCT  dlpdi_modifyDate,dlpst_SIZEOF   ; Last modification
  107.     STRUCT  dlpdi_backupDate,dlpst_SIZEOF   ; Last backup
  108.     UWORD   dlpdi_index             ; Index
  109.     STRUCT  dlpdi_name,34           ; Entry name
  110.     LABEL   dlpdi_SIZEOF
  111.  
  112. ;--- GetDBInfo flags ---
  113. DLPGDBF_RAM             EQU     $80     ; List RAM entries only
  114. DLPGDBF_ROM             EQU     $40     ; List ROM entries only
  115.  
  116. ;--- DBInfo excludes ---
  117. DLPDBIE_EXCLUDESYNC     EQU     $80     ; Exclude from Sync
  118.  
  119. ;--- DBInfo flags ---
  120. DLPDBIF_RESOURCE        EQU     $0001   ; DB Resource (not a record)
  121. DLPDBIF_READONLY        EQU     $0002   ; Read only
  122. DLPDBIF_APPINFODIRTY    EQU     $0004   ; AppInfo has been modified
  123. DLPDBIF_BACKUP          EQU     $0008   ; Generic backup
  124. DLPDBIF_NEWER           EQU     $0010   ; Newer may replace older in open DB
  125. DLPDBIF_RESET           EQU     $0020   ; Reset after installation
  126. DLPDBIF_OPEN            EQU     $8000   ; Currently opened
  127.  
  128. ;--- DB Attribute ---
  129. DLPDBAT_DELETED         EQU     $80     ; Deleted
  130. DLPDBAT_DIRTY           EQU     $40     ; Changed since last sync
  131. DLPDBAT_BUSY            EQU     $20     ; Currently locked
  132. DLPDBAT_SECRET          EQU     $10     ; Private entry
  133. DLPDBAT_ARCHIVE         EQU     $08     ; To be archived on next sync
  134.  
  135. ;--- DB Open flags ---
  136. DLPDBOF_READ            EQU     $80     ; Open for reading
  137. DLPDBOF_WRITE           EQU     $40     ; Open for writing
  138. DLPDBOF_EXCLUSIVE       EQU     $20     ; Do not share
  139. DLPDBOF_SECRET          EQU     $10     ; Private entry
  140. DLPDBOF_READWRITE       EQU     $C0
  141.  
  142.  
  143.  
  144. **--------------------------------------------------------------**
  145. **    Connection Management Protocol
  146. **
  147.  
  148. ;--- CMP structure ---
  149.     STRUCTURE PL_CMP,0
  150.     UBYTE   plcmp_type              ; CMP message type
  151.     UBYTE   plcmp_flags             ; Some flags
  152.     UWORD   plcmp_version           ; Version code
  153.     WORD    plcmp_reserved          ; 0 for now
  154.     ULONG   plcmp_baudrate          ; Wakeup: maximum rate
  155.                     ; Init: connection rate
  156.     LABEL   plcmp_SIZEOF
  157.  
  158. ;--- CMP Types ---
  159. PLCMP_WAKEUP            EQU     1       ; Wakeup
  160. PLCMP_INIT              EQU     2       ; Init connection
  161. PLCMP_ABORT             EQU     3       ; Abort connection
  162.  
  163. ;--- CMP Flags ---
  164. PLCMPF_CHANGEBAUD       EQU     $80     ; Init: change baud rate
  165.  
  166.  
  167.  
  168. **--------------------------------------------------------------**
  169. **    Packet Assembly Disassembly Protocol
  170. **
  171.  
  172. ;--- PADP Header structure ---
  173.     STRUCTURE PL_PADP_Header,0
  174.     UBYTE   plpah_type              ; Type of Packet
  175.     UBYTE   plpah_flags             ; Flags
  176.     UWORD   plpah_size              ; Size of data
  177.     LABEL   plpah_SIZEOF            ; Data follows here
  178.  
  179. ;--- PADP Types ---
  180. PLPADP_DATA             EQU     $01     ; Plain Data
  181. PLPADP_WAKE             EQU     $101    ; Wakeup, used by CMP
  182. PLPADP_ACK              EQU     $02     ; Acknowledge
  183. PLPADP_TICKLE           EQU     $04     ; Tickle
  184. PLPADP_ABORT            EQU     $08     ; Abort (PalmOS 2.0 only)
  185.  
  186. ;--- PADP Flags ---
  187. PLPADPF_FIRST           EQU     $80     ; First packet
  188. PLPADPF_LAST            EQU     $40     ; Last packet
  189. PLPADPF_MEMERROR        EQU     $20     ; Receiver has not enough memory
  190.  
  191.  
  192.  
  193. **--------------------------------------------------------------**
  194. **    Serial Link Protocol
  195. **
  196.  
  197. ;--- SLP Header structure ---
  198.     STRUCTURE PL_SLP_Header,0
  199.     STRUCT  plslp_signature,3       ; (will be SET by palmlink.library)
  200.     UBYTE   plslp_destSocket        ; Destination Socket ID
  201.     UBYTE   plslp_srcSocket         ; Source Socket ID
  202.     UBYTE   plslp_pckType           ; Packet Type
  203.     UWORD   plslp_dataSize          ; (will be SET by palmlink.library)
  204.     UBYTE   plslp_transID           ; Current transaction ID
  205.     UBYTE   plslp_checksum          ; (calculated by palmlink.library)
  206.     LABEL   plslp_SIZEOF
  207.  
  208. ;--- SLP Socket IDs ---
  209. PLSLPSOCK_DEBUG         EQU     0       ; Debugger
  210. PLSLPSOCK_CON           EQU     1       ; Console
  211. PLSLPSOCK_RUI           EQU     2       ; Remote User Interface
  212. PLSLPSOCK_DLP           EQU     3       ; Desktop Link Protocol
  213.  
  214. ;--- SLP Packet Types ---
  215. PLSLPTYPE_RDCP          EQU     0       ; Remote Debugger / Console
  216. PLSLPTYPE_PADP          EQU     2       ; Packet Assembler Disassembler
  217. PLSLPTYPE_LOOP          EQU     3       ; Loopback
  218.  
  219.  
  220.  
  221. **--------------------------------------------------------------**
  222. **    Error Codes
  223. **
  224.  
  225. ;--- PalmLink errors ---
  226. PLERR_OKAY              EQU     0       ; No error occured
  227. PLERR_NOMEM             EQU     -1      ; Not enough memory
  228. PLERR_NORESOURCE        EQU     -2      ; A resource is allocated
  229. PLERR_SERIAL            EQU     -3      ; Some serial error
  230. PLERR_TIMEOUT           EQU     -4      ; Connection timeout
  231. PLERR_CHECKSUM          EQU     -5      ; Data checksum error
  232. PLERR_REMOTENOMEM       EQU     -6      ; Remote has not enough memory
  233. PLERR_BADPACKET         EQU     -7      ; Got an unexpected packet
  234. PLERR_NOTCOMPATIBLE     EQU     -8      ; Connection not compatible
  235. PLERR_BADBAUD           EQU     -9      ; No fitting Baud rate found
  236.                     ; If you should get this one, try
  237.                     ; to lower PLTAG_SerialMaxRate.
  238.                     ; 9600 should work in any case,
  239.                     ; except you have a very wierd
  240.                     ; multi serial board.
  241. PLERR_DOSERROR          EQU     -10     ; DOS error, see IoErr()
  242. PLERR_OS2REQUIRED       EQU     -11     ; PalmOS2.0 or higher is required
  243.                     ; to use this function
  244. PLERR_TOOLARGE          EQU     -12     ; Data buffer is too large (>64KB)
  245. PLERR_ABORTED           EQU     -13     ; Aborted by abortion signal
  246.  
  247. ;--- DLP errors ---
  248. PLERR_GENERAL           EQU     1       ; General system error
  249. PLERR_ILLEGALFCT        EQU     2       ; Illegal function
  250. PLERR_DLPNOMEM          EQU     3       ; Out of memory
  251. PLERR_INVPARAM          EQU     4       ; Invalid parameter
  252. PLERR_NOTFOUND          EQU     5       ; Not found
  253. PLERR_NONEOPEN          EQU     6       ; None opened
  254. PLERR_ALREADYOPEN       EQU     7       ; Already opened
  255. PLERR_TOOMANYOPEN       EQU     8       ; Too many are opened
  256. PLERR_ALREADYEXIST      EQU     9       ; Already exists
  257. PLERR_CANTOPEN          EQU     10      ; Can't open
  258. PLERR_RECDELETED        EQU     11      ; Record deleted
  259. PLERR_RECBUSY           EQU     12      ; Record busy
  260. PLERR_UNSUPPORTED       EQU     13      ; Operation not supported
  261. PLERR_READONLY          EQU     15      ; Read only
  262. PLERR_NOSPACE           EQU     16      ; Not enough space
  263. PLERR_EXCEEDED          EQU     17      ; Limit exceeded
  264. PLERR_CANCELLED         EQU     18      ; Sync cancelled
  265. PLERR_BADARG            EQU     19      ; Bad argument wrapper
  266. PLERR_ARGMISSING        EQU     20      ; Argument is missing
  267. PLERR_ARGSIZE           EQU     21      ; Bad argument size
  268.  
  269.  
  270.         ENDC
  271. ******************************************************************
  272.  
  273.