~ubuntu-branches/debian/lenny/fpc/lenny

« back to all changes in this revision

Viewing changes to packages/extra/palmunits/udamgr.pp

  • Committer: Bazaar Package Importer
  • Author(s): Mazen Neifer, Torsten Werner, Mazen Neifer
  • Date: 2008-05-17 17:12:11 UTC
  • mfrom: (3.1.9 intrepid)
  • Revision ID: james.westby@ubuntu.com-20080517171211-9qi33xhd9evfa0kg
Tags: 2.2.0-dfsg1-9
[ Torsten Werner ]
* Add Mazen Neifer to Uploaders field.

[ Mazen Neifer ]
* Moved FPC sources into a version dependent directory from /usr/share/fpcsrc
  to /usr/share/fpcsrc/${FPCVERSION}. This allow installing more than on FPC
  release.
* Fixed far call issue in compiler preventing building huge binearies.
  (closes: #477743)
* Updated building dependencies, recomennded and suggested packages.
* Moved fppkg to fp-utils as it is just a helper tool and is not required by
  compiler.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
{$MACRO ON}
2
 
 (***********************************************************************
3
 
 *
4
 
 * Copyright (c) 1999-2000 Palm, Inc. or its subsidiaries.
5
 
 * All rights reserved.
6
 
 *
7
 
 * File: UDAMgr.h
8
 
 *
9
 
 * Release: Palm OS SDK 4.0 (63220)
10
 
 *
11
 
 * Description:
12
 
 *              Unified Data Manager header file
13
 
 *          Define type and generic macro to access data
14
 
 *
15
 
 * History:
16
 
 *    Jun 08, 2000   Created by Alain BASTY
17
 
 *
18
 
 ************************************************************************)
19
 
 
20
 
unit udamgr;
21
 
 
22
 
interface
23
 
 
24
 
uses palmos, coretraps, errorbase, exgmgr;
25
 
 
26
 
 (***********************************************************************
27
 
 * Generic options flags
28
 
 ************************************************************************)
29
 
 
30
 
const
31
 
  kUDAEndOfReader = 1;
32
 
  kUDAMoreData    = 2;
33
 
 
34
 
 (***********************************************************************
35
 
 * Generic control
36
 
 ************************************************************************)
37
 
 
38
 
const
39
 
  kUDAReinitialize = 1;
40
 
 
41
 
 (***********************************************************************
42
 
 * Generic error codes
43
 
 ************************************************************************)
44
 
 
45
 
const
46
 
  udaErrControl = udaErrorClass or 1;
47
 
 
48
 
 (***********************************************************************
49
 
 * General types
50
 
 ************************************************************************)
51
 
 
52
 
type
53
 
  UDABufferSize = UInt16;
54
 
 
55
 
const
56
 
  kUDAZeroTerminatedBuffer = $FFFF;
57
 
 
58
 
 (***********************************************************************
59
 
 * Types of callback functions
60
 
 ************************************************************************)
61
 
 
62
 
type
63
 
  UDAObjectPtr = ^UDAObjectType;
64
 
  UDAReaderPtr = ^UDAReaderType;
65
 
  UDAWriterPtr = ^UDAWriterType;
66
 
 
67
 
  UDADeleteFunction = procedure (var ioObject: UDAObjectPtr);
68
 
//!!!  UDAControlFunction = function (ioObject: UDAObjectPtr; parameter: UInt16; args: va_list): Err;
69
 
 
70
 
  UDAReadFunction = function (ioReader: UDAReaderPtr; var buffer: UInt8; bufferSize: UDABufferSize; var error: Err): UDABufferSize;
71
 
 
72
 
  UDAWriteFunction = function (ioWriter: UDAWriterPtr): Err;
73
 
  UDAFlushFunction = function (ioWriter: UDAWriterPtr): Err;
74
 
 
75
 
  UDAObjectType = record
76
 
    optionFlags: UInt16;
77
 
    deleteF:     UDADeleteFunction;
78
 
    controlF:    Pointer; //!!!UDAControlFunction;
79
 
  end;
80
 
  UDAObjectTag = UDAObjectType;
81
 
 
82
 
  UDAReaderType = record
83
 
    // The Reader is a base object
84
 
    optionFlags: UInt16 ;
85
 
    deleteF:  UDADeleteFunction;
86
 
    controlF: Pointer; //!!!UDAControlFunction;
87
 
 
88
 
    // Specific Reader fields
89
 
    readF: UDAReadFunction;
90
 
  end;
91
 
  UDAReaderTag = UDAReaderType;
92
 
 
93
 
  UDAFilterType = record
94
 
    // The Filter is a base Object
95
 
    optionFlags: UInt16;
96
 
    deleteF: UDADeleteFunction;
97
 
    controlF: Pointer; //!!!UDAControlFunction;
98
 
 
99
 
    // The Filter is a Reader
100
 
    readF: UDAReadFunction;
101
 
 
102
 
    // Specific Filter fields
103
 
    upperReader: ^UDAReaderType;
104
 
  end;
105
 
  UDAFilterTag = UDAFilterType;
106
 
 
107
 
  UDAWriterType = record
108
 
    // The Writer is a base Object
109
 
    optionFlags: UInt16;
110
 
    deleteF: UDADeleteFunction;
111
 
    controlF: Pointer; //!!!UDAControlFunction;
112
 
 
113
 
    // Specific Writer fields
114
 
    initiateWriteF: UDAWriteFunction;
115
 
    flushF: UDAFlushFunction;
116
 
    upperReader: ^UDAReaderType;
117
 
  end;
118
 
  UDAWriterTag = UDAWriterType;
119
 
 
120
 
 (***********************************************************************
121
 
 * Generic macro to access generic functions
122
 
 ************************************************************************)
123
 
 
124
 
(*
125
 
#define UDADelete(ioObject) (( *(ioObject->deleteF))((UDAObjectType** )(&(ioObject))))
126
 
 
127
 
#define UDARead(ioReader, bufferToFillP, bufferSizeInBytes, error) (( *(ioReader->readF))((UDAReaderType* )(ioReader), (bufferToFillP), (bufferSizeInBytes), (error)))
128
 
 
129
 
#define UDAEndOfReader(ioReader) (((ioReader)->optionFlags & kUDAEndOfReader) != 0)
130
 
 
131
 
#define UDAMoreData(ioReader) (((ioReader)->optionFlags & kUDAMoreData) != 0)
132
 
 
133
 
#define UDAFilterJoin(ioFilter, ioReader) (((UDAFilterType* )(ioFilter))->upperReader = ioReader)
134
 
 
135
 
#define UDAWriterJoin(ioWriter, ioReader) (ioWriter->upperReader = ioReader)
136
 
 
137
 
#define UDAInitiateWrite(ioWriter) (( *(ioWriter)->initiateWriteF))(ioWriter)
138
 
 
139
 
#define UDAWriterFlush(ioWriter) (( *(ioWriter)->flushF))(ioWriter)
140
 
*)   
141
 
 
142
 
(*****************************************************************
143
 
 * UDA API
144
 
 ****************************************************************)
145
 
 
146
 
// Public UDAMgr function selectors
147
 
const
148
 
  sysUdaControl           = 0;
149
 
  sysUdaMemoryReaderNew   = 1;
150
 
  sysUdaExchangeReaderNew = 11;
151
 
  sysUdaExchangeWriterNew = 12;
152
 
 
153
 
// UDAMgr function prototypes
154
 
 
155
 
//!!! function UDAControl(var ioObject: UDAObjectType; parameter: UInt16, ...): Err; syscall sysTrapUdaMgrDispatch, sysUdaControl;
156
 
 
157
 
function UDAExchangeReaderNew(var socket: ExgSocketType): UDAReaderPtr; 
158
 
 
159
 
function UDAExchangeWriterNew(var socket: ExgSocketType; bufferSize: UDABufferSize): UDAWriterPtr; 
160
 
 
161
 
 (***********************************************************************
162
 
 * Memory reader
163
 
 ************************************************************************)
164
 
 
165
 
function UDAMemoryReaderNew(var bufferP: UInt8; bufferSizeInBytes: UDABufferSize): UDAReaderPtr;
166
 
 
167
 
implementation
168
 
 
169
 
function __UDAExchangeReaderNew(var socket: ExgSocketType): UDAReaderPtr; syscall sysTrapUdaMgrDispatch;
170
 
function __UDAExchangeWriterNew(var socket: ExgSocketType; bufferSize: UDABufferSize): UDAWriterPtr; syscall sysTrapUdaMgrDispatch;
171
 
function __UDAMemoryReaderNew(var bufferP: UInt8; bufferSizeInBytes: UDABufferSize): UDAReaderPtr; syscall sysTrapUdaMgrDispatch;
172
 
 
173
 
function UDAExchangeReaderNew(var socket: ExgSocketType): UDAReaderPtr;
174
 
begin
175
 
 asm
176
 
  move.l #$sysUdaExchangeReaderNew, D2;
177
 
 end;
178
 
 UDAExchangeReaderNew := __UDAExchangeReaderNew(socket);
179
 
end;
180
 
 
181
 
function UDAExchangeWriterNew(var socket: ExgSocketType; bufferSize: UDABufferSize): UDAWriterPtr;
182
 
begin
183
 
 asm
184
 
  move.l #$sysUdaExchangeWriterNew, D2;
185
 
 end;
186
 
 UDAExchangeWriterNew := __UDAExchangeWriterNew(socket, bufferSize);
187
 
end;
188
 
 
189
 
function UDAMemoryReaderNew(var bufferP: UInt8; bufferSizeInBytes: UDABufferSize): UDAReaderPtr;
190
 
begin
191
 
 asm
192
 
  move.l #$sysUdaMemoryReaderNew, D2;
193
 
 end;
194
 
 UDAMemoryReaderNew := __UDAMemoryReaderNew(bufferP, bufferSizeInBytes);
195
 
end;
196
 
 
197
 
end.