--- ibx/trunk/runtime/IBExternals.pas 2013/02/28 16:56:14 16 +++ ibx/trunk/runtime/IBExternals.pas 2013/12/28 19:22:24 17 @@ -1,165 +1,165 @@ -{************************************************************************} -{ } -{ Borland Delphi Visual Component Library } -{ InterBase Express core components } -{ } -{ Copyright (c) 1998-2000 Inprise Corporation } -{ } -{ InterBase Express is based in part on the product } -{ Free IB Components, written by Gregory H. Deatz for } -{ Hoagland, Longo, Moran, Dunst & Doukas Company. } -{ Free IB Components is used under license. } -{ } -{ The contents of this file are subject to the InterBase } -{ Public License Version 1.0 (the "License"); you may not } -{ use this file except in compliance with the License. You } -{ may obtain a copy of the License at http://www.Inprise.com/IPL.html } -{ Software distributed under the License is distributed on } -{ an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either } -{ express or implied. See the License for the specific language } -{ governing rights and limitations under the License. } -{ The Original Code was created by InterBase Software Corporation } -{ and its successors. } -{ Portions created by Inprise Corporation are Copyright (C) Inprise } -{ Corporation. All Rights Reserved. } -{ Contributor(s): Jeff Overcash } -{ } -{ IBX For Lazarus (Firebird Express) } -{ Contributor: Tony Whyman, MWA Software http://www.mwasoftware.co.uk } -{ Portions created by MWA Software are copyright McCallum Whyman } -{ Associates Ltd 2011 } -{ } -{************************************************************************} - -unit IBExternals; - -{ Some structures, declarations that we need for the IB stuff to work, but - that aren't really part of the ib header file. } -interface - -uses -{$IFDEF WINDOWS } - Windows -{$ELSE} - unix -{$ENDIF} -; -type - Int = LongInt; { 32 bit signed } - UInt = DWord; { 32 bit unsigned } - Long = LongInt; { 32 bit signed } - ULong = DWord; { 32 bit unsigned } - Short = SmallInt;{ 16 bit signed } - UShort = Word; { 16 bit unsigned } - Float = Single; { 32 bit } - UChar = Byte; { 8 bit unsigned } - ISC_LONG = Long; { 32 bit signed } - UISC_LONG = ULong; { 32 bit unsigned } - ISC_INT64 = Int64; { 64 bit signed } -{$IFDEF CPU64} - ISC_STATUS = Int64; { 64 bit signed } - UISC_STATUS = UInt64; { 64 bit unsigned} -{$ELSE} - ISC_STATUS = Long; { 32 bit signed } - UISC_STATUS = ULong; { 32 bit unsigned} -{$ENDIF} - FB_API_HANDLE = ^Pointer; - Void = Pointer; - { Delphi Pointer types } - PInt = ^Int; - PShort = ^Short; - PUShort = ^UShort; - PLong = ^Long; - PULong = ^ULong; - PFloat = ^Float; - PUChar = ^UChar; - PVoid = ^Pointer; - PISC_LONG = ^ISC_LONG; - PUISC_LONG = ^UISC_LONG; - PISC_STATUS = ^ISC_STATUS; - PPISC_STATUS = ^PISC_STATUS; - PUISC_STATUS = ^UISC_STATUS; - - { C Date/Time Structure } - TCTimeStructure = record - tm_sec : integer; { Seconds } - tm_min : integer; { Minutes } - tm_hour : integer; { Hour (0--23) } - tm_mday : integer; { Day of month (1--31) } - tm_mon : integer; { Month (0--11) } - tm_year : integer; { Year (calendar year minus 1900) } - tm_wday : integer; { Weekday (0--6) Sunday = 0) } - tm_yday : integer; { Day of year (0--365) } - tm_isdst : integer; { 0 if daylight savings time is not in effect) } - tm_gmtoff: longint; - tm_zone: PChar; - end; - PCTimeStructure = ^TCTimeStructure; - TM = TCTimeStructure; - PTM = ^TM; - - TISC_VARYING = record - strlen: Short; - str: array[0..0] of Char; - end; - - {***************************} - {* Some blob ctl structs *} - {* from IB help files for *} - {* implementing UDFs . *} - {* -- Taken from docs, not *} - {* in original ibase.h *} - {***************************} - TISC_BlobGetSegment = function(BlobHandle: PInt; - Buffer: PChar; - BufferSize: Long; - var ResultLength: Long): Short; cdecl; - TISC_BlobPutSegment = procedure(BlobHandle: PInt; - Buffer: PChar; - BufferLength: Short); cdecl; - TBlob = record - GetSegment : TISC_BlobGetSegment; - BlobHandle : PInt; - SegmentCount : Long; - MaxSegmentLength : Long; - TotalSize : Long; - PutSegment : TISC_BlobPutSegment; - end; - PBlob = ^TBlob; - -const - { Delphi consts } - { Days of week } - dSun = 1; dMon = 2; dTue = 3; dWed = 4; dThu = 5; dFri = 6; dSat = 7; - { Months of year } - dJan = 1; dFeb = 2; dMar = 3; dApr = 4; dMay = 5; dJun = 6; - dJul = 7; dAug = 8; dSep = 9; dOct = 10; dNov = 11; dDec = 12; - { C Consts } - cYearOffset = 1900; - { Days of week } - cSun = 0; cMon = 1; cTue = 2; cWed = 3; cThu = 4; cFri = 5; cSat = 6; - { Months of year } - cJan = 0; cFeb = 1; cMar = 2; cApr = 3; cMay = 4; cJun = 5; - cJul = 6; cAug = 7; cSep = 8; cOct = 9; cNov = 10; cDec = 11; - -procedure InitializeTCTimeStructure(var tm_record: TCTimeStructure); - -implementation - -procedure InitializeTCTimeStructure(var tm_record: TCTimeStructure); -begin - with tm_record do begin - tm_sec := 0; - tm_min := 0; - tm_hour := 0; - tm_mday := 0; - tm_mon := 0; - tm_year := 0; - tm_wday := 0; - tm_yday := 0; - tm_isdst := 0; - end; -end; - - -end. +{************************************************************************} +{ } +{ Borland Delphi Visual Component Library } +{ InterBase Express core components } +{ } +{ Copyright (c) 1998-2000 Inprise Corporation } +{ } +{ InterBase Express is based in part on the product } +{ Free IB Components, written by Gregory H. Deatz for } +{ Hoagland, Longo, Moran, Dunst & Doukas Company. } +{ Free IB Components is used under license. } +{ } +{ The contents of this file are subject to the InterBase } +{ Public License Version 1.0 (the "License"); you may not } +{ use this file except in compliance with the License. You } +{ may obtain a copy of the License at http://www.Inprise.com/IPL.html } +{ Software distributed under the License is distributed on } +{ an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either } +{ express or implied. See the License for the specific language } +{ governing rights and limitations under the License. } +{ The Original Code was created by InterBase Software Corporation } +{ and its successors. } +{ Portions created by Inprise Corporation are Copyright (C) Inprise } +{ Corporation. All Rights Reserved. } +{ Contributor(s): Jeff Overcash } +{ } +{ IBX For Lazarus (Firebird Express) } +{ Contributor: Tony Whyman, MWA Software http://www.mwasoftware.co.uk } +{ Portions created by MWA Software are copyright McCallum Whyman } +{ Associates Ltd 2011 } +{ } +{************************************************************************} + +unit IBExternals; + +{ Some structures, declarations that we need for the IB stuff to work, but + that aren't really part of the ib header file. } +interface + +uses +{$IFDEF WINDOWS } + Windows +{$ELSE} + unix +{$ENDIF} +; +type + Int = LongInt; { 32 bit signed } + UInt = DWord; { 32 bit unsigned } + Long = LongInt; { 32 bit signed } + ULong = DWord; { 32 bit unsigned } + Short = SmallInt;{ 16 bit signed } + UShort = Word; { 16 bit unsigned } + Float = Single; { 32 bit } + UChar = Byte; { 8 bit unsigned } + ISC_LONG = Long; { 32 bit signed } + UISC_LONG = ULong; { 32 bit unsigned } + ISC_INT64 = Int64; { 64 bit signed } +{$IFDEF CPU64} + ISC_STATUS = Int64; { 64 bit signed } + UISC_STATUS = UInt64; { 64 bit unsigned} +{$ELSE} + ISC_STATUS = Long; { 32 bit signed } + UISC_STATUS = ULong; { 32 bit unsigned} +{$ENDIF} + FB_API_HANDLE = ^Pointer; + Void = Pointer; + { Delphi Pointer types } + PInt = ^Int; + PShort = ^Short; + PUShort = ^UShort; + PLong = ^Long; + PULong = ^ULong; + PFloat = ^Float; + PUChar = ^UChar; + PVoid = ^Pointer; + PISC_LONG = ^ISC_LONG; + PUISC_LONG = ^UISC_LONG; + PISC_STATUS = ^ISC_STATUS; + PPISC_STATUS = ^PISC_STATUS; + PUISC_STATUS = ^UISC_STATUS; + + { C Date/Time Structure } + TCTimeStructure = record + tm_sec : integer; { Seconds } + tm_min : integer; { Minutes } + tm_hour : integer; { Hour (0--23) } + tm_mday : integer; { Day of month (1--31) } + tm_mon : integer; { Month (0--11) } + tm_year : integer; { Year (calendar year minus 1900) } + tm_wday : integer; { Weekday (0--6) Sunday = 0) } + tm_yday : integer; { Day of year (0--365) } + tm_isdst : integer; { 0 if daylight savings time is not in effect) } + tm_gmtoff: longint; + tm_zone: PChar; + end; + PCTimeStructure = ^TCTimeStructure; + TM = TCTimeStructure; + PTM = ^TM; + + TISC_VARYING = record + strlen: Short; + str: array[0..0] of Char; + end; + + {***************************} + {* Some blob ctl structs *} + {* from IB help files for *} + {* implementing UDFs . *} + {* -- Taken from docs, not *} + {* in original ibase.h *} + {***************************} + TISC_BlobGetSegment = function(BlobHandle: PInt; + Buffer: PChar; + BufferSize: Long; + var ResultLength: Long): Short; cdecl; + TISC_BlobPutSegment = procedure(BlobHandle: PInt; + Buffer: PChar; + BufferLength: Short); cdecl; + TBlob = record + GetSegment : TISC_BlobGetSegment; + BlobHandle : PInt; + SegmentCount : Long; + MaxSegmentLength : Long; + TotalSize : Long; + PutSegment : TISC_BlobPutSegment; + end; + PBlob = ^TBlob; + +const + { Delphi consts } + { Days of week } + dSun = 1; dMon = 2; dTue = 3; dWed = 4; dThu = 5; dFri = 6; dSat = 7; + { Months of year } + dJan = 1; dFeb = 2; dMar = 3; dApr = 4; dMay = 5; dJun = 6; + dJul = 7; dAug = 8; dSep = 9; dOct = 10; dNov = 11; dDec = 12; + { C Consts } + cYearOffset = 1900; + { Days of week } + cSun = 0; cMon = 1; cTue = 2; cWed = 3; cThu = 4; cFri = 5; cSat = 6; + { Months of year } + cJan = 0; cFeb = 1; cMar = 2; cApr = 3; cMay = 4; cJun = 5; + cJul = 6; cAug = 7; cSep = 8; cOct = 9; cNov = 10; cDec = 11; + +procedure InitializeTCTimeStructure(var tm_record: TCTimeStructure); + +implementation + +procedure InitializeTCTimeStructure(var tm_record: TCTimeStructure); +begin + with tm_record do begin + tm_sec := 0; + tm_min := 0; + tm_hour := 0; + tm_mday := 0; + tm_mon := 0; + tm_year := 0; + tm_wday := 0; + tm_yday := 0; + tm_isdst := 0; + end; +end; + + +end.