JegasAPI - www.jegas.com

Unit ug_common

DescriptionUsesClasses, Interfaces, Objects and RecordsFunctions and ProceduresTypesConstantsVariables

Description

This file is a collection of fairly lowlevel but useful functions used throughout the Jegas codebase.

Uses

Overview

Classes, Interfaces, Objects and Records

Name Description
packed record rt2ByteCast Useful type for typecasting 4 consecutive bytes
packed record rt2WordCast Useful type for typecasting 2 consecutive word
packed record rt4ByteCast Useful type for typecasting 4 consecutive bytes
packed record rt8ByteCast Useful type for typecasting 8 consecutive bytes
packed record rt8CardinalCast Useful type for typecasting 2 consecutive cardinal
packed record rt8LongCast Useful type for typecasting 2 consecutive longint
packed record rt8WordCast Useful type for typecasting 4 consecutive words
record rtCGI This structure is a compact (lean and light weight) to store CGI application request information without involving dependancies on classes and other code that could result in a larger binary executable.
record rtJegasField This structure is used to describe a database field in a platform/dbms independant manner.
record rtNameValuePair This structure can be used whereever ansistring name value pairs are useful in code.
record rtValuePair Value Pair Structure - With extra description field

Functions and Procedures

Function bIOAppend_NOT_TS(p_saFilename: ansiString; p_saData: AnsiString; var p_u2IOResult: Word): Boolean;
Function bIOAppend_NOT_TS(p_saFilename: ansiString; p_saData: AnsiString): Boolean;
Function bLoadFile(p_saSrc: ansiString; Var p_saData: AnsiString; Var p_u2IOResult: Word):Boolean;
Function bLoadFile(p_saSrc: ansiString; Var p_saData: AnsiString):Boolean;
Function bLoadFileRO(p_saSrc: ansiString; Var p_saData: AnsiString; Var p_u2IOResult: Word):Boolean;
Function bLoadFileRO(p_saSrc: ansiString; Var p_saData: AnsiString):Boolean;
Function bLoadTextfile(p_sa: ansiString; Var p_saData: AnsiString; Var p_u2IOResult: Word):Boolean;
Function bLoadTextfile(p_sa: ansiString; Var p_saData: AnsiString):Boolean;
Function bVal(p_s: String): boolean; inline;
Function cOneZero(p_b: Boolean):char;
Procedure DeleteString(Var p_sa: AnsiString; p_uStart, p_uCount: UInt64);
Function fdVal(p_s: String): currency; inline;
Function fpVal(p_s: String): Real; inline;
function i1Val(p_s: String): shortint; inline;
function i4Val(p_s: String): longint; inline;
function i8Val(p_s: String): Int64; inline;
Function iPlotCenter(p_i4Range: LongInt; p_i4Size: LongInt): Longint;
Function iVal(p_s: String):Int64; inline;
Function saAddFwdSlash(p_sa: AnsiString):AnsiString;
Function saAddSlash(p_sa:AnsiString):AnsiString;
Function saDecodeURI(p_sa: AnsiString): AnsiString;
Function saEncodeURI(p_sa: AnsiString): AnsiString;
Function saFileToTreeDOS(p_saFilename: AnsiString;p_u1Size, p_u1Levels: byte): AnsiString;
Function saFileToTreeFWDSlash(p_saFilename: AnsiString; p_u1Size, p_u1Levels: byte): AnsiString;
Function saFixedLength(p_sa: AnsiString; p_uStart, p_uLen: UInt64): AnsiString;
Function saFixedLength(p_sa: AnsiString; p_uStart, p_uLen: UInt64; p_chPadchar: char): AnsiString;
function saFixSlash( p_sa: ansistring): ansistring;
Function saHTMLScrub(p_sa: AnsiString): AnsiString;
Function saHTMLUnScrub(p_sa: AnsiString): AnsiString;
Function saHumanReadable(p_sa: AnsiString): AnsiString;
Function saJegasLogoRawHtml: AnsiString;
Function saMySQLScrub(p_sa: AnsiString):AnsiString;
Function saRepeatChar(p_ch: Char; p_uHowMany: UInt64): AnsiString;
Function saReverse(p_sa: AnsiString): AnsiString;
Function saRJustify(p_sa: AnsiString;p_uLength: UInt64): AnsiString;
function saScramble(p_sa: ansistring): ansistring;
Function saSNR(Var p_sa: AnsiString;p_chSearchFor: Char;p_chReplaceWith: Char): AnsiString;
Function saSNRStr(p_sa: AnsiString; p_saSearchFor: AnsiString; p_u4ReplaceWith:cardinal; p_bCaseSensitive: Boolean): AnsiString;
Function saSNRStr(p_sa: AnsiString; p_saSearchFor: AnsiString; p_u8ReplaceWith:uint64): AnsiString;
Function saSNRStr(p_sa: AnsiString; p_saSearchFor: AnsiString; p_u4ReplaceWith:cardinal): AnsiString;
Function saSNRStr(p_sa: AnsiString; p_saSearchFor: AnsiString;p_saReplaceWith:AnsiString): AnsiString;
Function saSNRStr(p_sa: AnsiString; p_saSearchFor: AnsiString; p_saReplaceWith:AnsiString; p_bCaseSensitive: Boolean): AnsiString;
Function saSNRStr(p_sa: AnsiString; p_saSearchFor: AnsiString; p_u8ReplaceWith:uint64; p_bCaseSensitive: Boolean): AnsiString;
Function saSpecialSNR(Var p_sa: AnsiString; p_chSearchFor: Char;p_chReplaceWith: Char): AnsiString;
Function saSQLScrub(p_sa: AnsiString):AnsiString;
Function saXorString(p_sa: AnsiString; p_u1Key: Byte):AnsiString;
function sByteToHex(p_b1: byte): string; inline;
function sCharToHex(p_ch: char): string; inline;
function sDelimitInt(p_I: Int64): string; inline;
function sDelimitUInt(p_U: UInt64): string;
Function sFormatLongIntWithCommas(p_i4: LongInt): String; inline;
Function sIntToStr(p_i8:Int64):String; inline;
Function sIOResult(p_u2: Word; p_u2Language: word): String;
Function sIOResult(p_u2: Word): String;
Function sOnOff(p_b:Boolean): string; inline;
Function sRJustifyInt(p_i8,p_u1Length: byte): String;
Function sSNR(Var p_s: String;p_chSearchFor: Char;p_chReplaceWith: Char): String;
Function sSNRStr(p_s: String; p_sSearchFor: String;p_sReplaceWith:String): String;
Function sSNRStr(p_s: String; p_sSearchFor: String; p_sReplaceWith:string; p_bCaseSensitive: Boolean): String;
Function sTrueFalse(p_b: Boolean): String; inline;
Function sTrueFalseFixedLength(p_b: Boolean): String; inline;
function sU8ToHex(p_u8: uInt64): string;
Function sYesNo(p_b:Boolean): String; inline;
Function sYesNoFixedLength(p_b:Boolean): String; inline;
Function sZeroPadInt(p_i8: int64; p_u1Length: byte): String;
Function sZeroPadUInt(p_u8: uint64; p_u1Length: byte): String;
Function u1Hex(p_ch: Char): Byte; inline;
function u1Val(p_s: String): byte; inline;
Function u2GetCRC16(p_saSrcFile: ansiString):word;
function u2Val(p_s: String): word; inline;
function u4Val(p_s: String): cardinal; inline;
Function u8GetCRC64(p_saSrcFile: ansiString):word;
function u8HexToU8(p_s: string): uint64;
function u8Val(p_s: String): UInt64; inline;
function uVal(p_s: String): UInt64; inline;
Procedure Yield(p_uMilliSeconds:UInt64);

Constants

B00 = 1;
B01 = 2;
B02 = 4;
B03 = 8;
B04 = 16;
B05 = 32;
B06 = 64;
B07 = 128;
B08 = 256;
B09 = 512;
B10 = 1024;
B11 = 2048;
B12 = 4096;
B13 = 8192;
B14 = 16384;
B15 = 32768;
B16 = 65536;
B17 = 131072;
B18 = 262144;
B19 = 524288;
B20 = 1048576;
B21 = 2097152;
B22 = 4194304;
B23 = 8388608;
B24 = 16777216;
B25 = 33554432;
B26 = 67108864;
B27 = 134217728;
B28 = 268435456;
B29 = 536870912;
B30 = 1073741824;
B31 = 2147483648;
B32 = 4294967296;
B33 = 8589934592;
B34 = 17179869184;
B35 = 34359738368;
B36 = 68719476736;
B37 = 137438953472;
B38 = 274877906944;
B39 = 549755813888;
B40 = 1099511627776;
B41 = 2199023255552;
B42 = 4398046511104;
B43 = 8796093022208;
B44 = 17592186044416;
B45 = 35184372088832;
B46 = 70368744177664;
B47 = 140737488355328;
B48 = 281474976710656;
B49 = 562949953421312;
B50 = 1125899906842620;
B51 = 2251799813685250;
B52 = 4503599627370500;
B53 = 9007199254740990;
B54 = 18014398509482000;
B55 = 36028797018964000;
B56 = 72057594037927900;
B57 = 144115188075856000;
B58 = 288230376151712000;
B59 = 576460752303424000;
B60 = 1152921504606850000;
B61 = 2305843009213690000;
B62 = 4611686018427390000;
B63 = 9223372036854780000;
cnCentimeters=100.0;
cnDays=86400;
cnFeet=3.28084;
cnHours=3600;
cnHoursPerDay=24;
cnHTTP_RESPONSE_100 = 100;
cnHTTP_RESPONSE_101 = 101;
cnHTTP_RESPONSE_102 = 102;
cnHTTP_RESPONSE_200 =200;
cnHTTP_RESPONSE_201 =201;
cnHTTP_RESPONSE_202 =202;
cnHTTP_RESPONSE_203 =203;
cnHTTP_RESPONSE_204 =204;
cnHTTP_RESPONSE_205 =205;
cnHTTP_RESPONSE_206 =206;
cnHTTP_RESPONSE_207 =207;
cnHTTP_RESPONSE_226 =226;
cnHTTP_RESPONSE_300 =300;
cnHTTP_RESPONSE_301 =301;
cnHTTP_RESPONSE_302 =302;
cnHTTP_RESPONSE_303 =303;
cnHTTP_RESPONSE_304 =304;
cnHTTP_RESPONSE_305 =305;
cnHTTP_RESPONSE_306 =306;
cnHTTP_RESPONSE_307 =307;
cnHTTP_RESPONSE_400 =400;
cnHTTP_RESPONSE_401 =401;
cnHTTP_RESPONSE_402 =402;
cnHTTP_RESPONSE_403 =403;
cnHTTP_RESPONSE_404 =404;
cnHTTP_RESPONSE_405 =405;
cnHTTP_RESPONSE_406 =406;
cnHTTP_RESPONSE_407 =407;
cnHTTP_RESPONSE_408 =408;
cnHTTP_RESPONSE_409 =409;
cnHTTP_RESPONSE_410 =410;
cnHTTP_RESPONSE_411 =411;
cnHTTP_RESPONSE_412 =412;
cnHTTP_RESPONSE_413 =413;
cnHTTP_RESPONSE_414 =414;
cnHTTP_RESPONSE_415 =415;
cnHTTP_RESPONSE_416 =416;
cnHTTP_RESPONSE_417 =417;
cnHTTP_RESPONSE_418 =418;
cnHTTP_RESPONSE_422 =422;
cnHTTP_RESPONSE_423 =423;
cnHTTP_RESPONSE_424 =424;
cnHTTP_RESPONSE_425 =425;
cnHTTP_RESPONSE_426 =426;
cnHTTP_RESPONSE_449 =449;
cnHTTP_RESPONSE_500 =500;
cnHTTP_RESPONSE_501 =501;
cnHTTP_RESPONSE_502 =502;
cnHTTP_RESPONSE_503 =503;
cnHTTP_RESPONSE_504 =504;
cnHTTP_RESPONSE_505 =505;
cnHTTP_RESPONSE_506 =506;
cnHTTP_RESPONSE_507 =507;
cnHTTP_RESPONSE_509 =509;
cnHTTP_RESPONSE_510 =510;
cnInches=39.3701;
cnIOAppendMaxTries = 10;
cnJDType_b = 01;
cnJDType_bin = 24;
cnJDType_ch = 17;
cnJDType_chu = 18;
cnJDType_cur = 16;
cnJDType_dt = 19;
cnJDType_fd = 15;
cnJDType_fp = 14;
cnJDType_i1 = 02;
cnJDType_i16 = 06;
cnJDType_i2 = 03;
cnJDType_i32 = 07;
cnJDType_i4 = 04;
cnJDType_i8 = 05;
cnJDType_s = 20;
cnJDType_sn = 22;
cnJDType_su = 21;
cnJDType_sun = 23;
cnJDType_u1 = 08;
cnJDType_u16 = 12;
cnJDType_u2 = 09;
cnJDType_u32 = 13;
cnJDType_u4 = 10;
cnJDType_u8 = 11;
cnJDType_Unknown = 00;
cnJWidget_b = 20;
cnJWidget_bi1 = 21;
cnJWidget_bin = 37;
cnJWidget_ch = 18;
cnJWidget_chu = 19;
cnJWidget_cn = 32;
cnJWidget_ComboBox = 104;
cnJWidget_Content = 107;
cnJWidget_cs = 33;
cnJWidget_cur = 15;
cnJWidget_Dropdown = 100;
cnJWidget_dt = 23;
cnJWidget_Email = 103;
cnJWidget_fd = 14;
cnJWidget_fp = 13;
cnJWidget_i = 34;
cnJWidget_i1 = 01;
cnJWidget_i16 = 05;
cnJWidget_i2 = 02;
cnJWidget_i32 = 06;
cnJWidget_i4 = 03;
cnJWidget_i8 = 04;
cnJWidget_jdt = 22;
cnJWidget_Lookup = 101;
cnJWidget_LookupComboBox = 105;
cnJWidget_Phone = 106;
cnJWidget_s = 25;
cnJWidget_sa = 31;
cnJWidget_sn = 27;
cnJWidget_su = 26;
cnJWidget_sun = 28;
cnJWidget_sux = 17;
cnJWidget_suz = 30;
cnJWidget_sx = 16;
cnJWidget_sz = 29;
cnJWidget_u = 35;
cnJWidget_u1 = 07;
cnJWidget_u16 = 11;
cnJWidget_u2 = 08;
cnJWidget_u32 = 12;
cnJWidget_u4 = 09;
cnJWidget_u8 = 10;
cnJWidget_ui4 = 24;
cnJWidget_Unknown = 00;
cnJWidget_URL = 102;
cnJWidget_v = 36;
cnKilometers=0.001;
cnLANG_ALL = 0;
cnLANG_ENGLISH = 1;
cnLog_DEBUG =1;
cnLog_ERROR =3;
cnLog_FATAL =2;
cnLog_INFO =5;
cnLog_NONE =0;
cnLog_REQUEST =6;
cnLog_RESERVED =7;
cnLog_USERDEFINED =100;
cnLog_WARN =4;
cnMaxDigitsFor01ByteUInt = 4 ;
cnMaxDigitsFor02ByteUInt = 6 ;
cnMaxDigitsFor04ByteUInt = 32 ;
cnMaxDigitsFor08ByteUInt = 64 ;
cnMaxDigitsFor16ByteUInt = 250 ;
cnMaxDigitsFor32ByteUInt = 1023 ;
cnMaxDigitsForCurtoText = 128 ;
cnMaxDigitsForDateToText = 50 ;
cnMaxDigitsForFDtoText = 128 ;
cnMaxDigitsForFPtoText = 128 ;
cnMeter =1.0;
cnMiles=0.00062;
cnMillimeters=1000.0;
cnMilliseconds=0.001;
cnMillisecondsPerHour=216000000;
cnMinutes=60;
cnMSAccessMaxString = 60;
cnOneMeterPerMilliSecond_Is_MilesPerHour=2236.93629;
cnSecond=1;
cnSecondsPerHour=216000;
cnSYS_INFO_MODE_SECURE=0;
cnSYS_INFO_MODE_VERBOSE=2;
cnSYS_INFO_MODE_VERBOSELOCAL=1;
cnTIMEZONE_OFFSET = -5;
cnUINTMax = 4294967295 ;
cnYards=1.09361;
cn_MaxEnvVariables = 200;
cn_MaxEnvWarnThreshold = 150;
csBACKSLASH='\';
csCGI_application_x_www_form_urlencoded= 'APPLICATION/X-WWW-FORM-URLENCODED';
csCGI_CONTENT_LENGTH = 'CONTENT_LENGTH';
csCGI_CONTENT_TYPE = 'CONTENT_TYPE';
csCGI_DOCUMENT_ROOT = 'DOCUMENT_ROOT';
csCGI_GET = 'GET';
csCGI_HTTP_ACCEPT = 'HTTP_ACCEPT';
csCGI_HTTP_ACCEPT_CHARSET = 'HTTP_ACCEPT_CHARSET';
csCGI_HTTP_ACCEPT_ENCODING = 'HTTP_ACCEPT_ENCODING';
csCGI_HTTP_ACCEPT_LANGUAGE = 'HTTP_ACCEPT_LANGUAGE';
csCGI_HTTP_CONNECTION = 'HTTP_CONNECTION';
csCGI_HTTP_COOKIE = 'HTTP_COOKIE';
csCGI_HTTP_HDR_VERSION = 'HTTP/1.1 ';
csCGI_HTTP_HOST = 'HTTP_HOST';
csCGI_HTTP_KEEPALIVE = 'HTTP_KEEPALIVE';
csCGI_HTTP_REFERER = 'HTTP_REFERER';
csCGI_HTTP_USER_AGENT = 'HTTP_USER_AGENT';
csCGI_JEGAS = 'JEGAS';
csCGI_JEGAS_CGI_1_0_0='JAS-CGI 1.0.0';
csCGI_PATH_INFO = 'PATH_INFO';
csCGI_POST = 'POST';
csCGI_QUERY_STRING = 'QUERY_STRING';
csCGI_REDIRECT_STATUS = 'REDIRECT_STATUS';
csCGI_REMOTE_ADDR = 'REMOTE_ADDR';
csCGI_REMOTE_PORT = 'REMOTE_PORT';
csCGI_REQUEST_METHOD = 'REQUEST_METHOD';
csCGI_REQUEST_URI = 'REQUEST_URI';
csCGI_SCRIPT_FILENAME = 'SCRIPT_FILENAME';
csCGI_SCRIPT_NAME = 'SCRIPT_NAME';
csCGI_SERVER_ADDR = 'SERVER_ADDR';
csCGI_SERVER_PORT = 'SERVER_PORT';
csCGI_SERVER_SOFTWARE = 'SERVER_SOFTWARE';
csCR=#13;
csCRLF=#13#10;
csDATEFORMAT='yyyy-mm-dd';
csDATETIMEFORMAT='yyyy-mm-dd tt';
csDATETIMEFORMAT24='yyyy-mm-dd hh:nn:ss';
csDBLQUOTE=#34;
csEOL=#10;
csFWDSLASH='/';
csHTMLRipperEnd='<!--HTMLRIPPER INSERT END-->';
csHTMLRipperStart='<!--HTMLRIPPER INSERT BEGIN-->';
csHTTP_RESPONSE_100 ='100 Continue';
csHTTP_RESPONSE_101 ='101 Switching Protocols';
csHTTP_RESPONSE_102 ='102 Processing';
csHTTP_RESPONSE_200 ='200 OK';
csHTTP_RESPONSE_201 ='201 Created';
csHTTP_RESPONSE_202 ='202 Accepted';
csHTTP_RESPONSE_203 ='203 Non-Authoritative Information';
csHTTP_RESPONSE_204 ='204 No Content';
csHTTP_RESPONSE_205 ='205 Reset Content';
csHTTP_RESPONSE_206 ='206 Partial Content';
csHTTP_RESPONSE_207 ='207 Multi-Status';
csHTTP_RESPONSE_226 ='226 IM Used';
csHTTP_RESPONSE_300 ='300 Multiple Choices';
csHTTP_RESPONSE_301 ='301 Moved Permanently';
csHTTP_RESPONSE_302 ='302 Found';
csHTTP_RESPONSE_303 ='303 See Other';
csHTTP_RESPONSE_304 ='304 Not Modified';
csHTTP_RESPONSE_305 ='305 Use Proxy';
csHTTP_RESPONSE_306 ='306 Switch Proxy';
csHTTP_RESPONSE_307 ='307 Temporary Redirect';
csHTTP_RESPONSE_400 ='400 Bad Request';
csHTTP_RESPONSE_401 ='401 Unauthorized';
csHTTP_RESPONSE_402 ='402 Payment Required';
csHTTP_RESPONSE_403 ='403 Forbidden';
csHTTP_RESPONSE_404 ='404 Not Found';
csHTTP_RESPONSE_405 ='405 Method Not Allowed';
csHTTP_RESPONSE_406 ='406 Not Acceptable';
csHTTP_RESPONSE_407 ='407 Proxy Authentication Required';
csHTTP_RESPONSE_408 ='408 Request Timeout';
csHTTP_RESPONSE_409 ='409 Conflict';
csHTTP_RESPONSE_410 ='410 Gone';
csHTTP_RESPONSE_411 ='411 Length Required';
csHTTP_RESPONSE_412 ='412 Precondition Failed';
csHTTP_RESPONSE_413 ='413 Request Entity Too Large';
csHTTP_RESPONSE_414 ='414 Request-URI Too Long';
csHTTP_RESPONSE_415 ='415 Unsupported Media Type';
csHTTP_RESPONSE_416 ='416 Requested Range Not Satisfiable';
csHTTP_RESPONSE_417 ='417 Expectation Failed';
csHTTP_RESPONSE_418 ='418 I''m a teapot';
csHTTP_RESPONSE_422 ='422 Unprocessable Entity';
csHTTP_RESPONSE_423 ='423 Locked';
csHTTP_RESPONSE_424 ='424 Failed Dependency';
csHTTP_RESPONSE_425 ='425 Unordered Collection';
csHTTP_RESPONSE_426 ='426 Upgrade Required';
csHTTP_RESPONSE_449 ='449 Retry With';
csHTTP_RESPONSE_500 ='500 Internal Server Error';
csHTTP_RESPONSE_501 ='501 Not Implemented';
csHTTP_RESPONSE_502 ='502 Bad Gateway';
csHTTP_RESPONSE_503 ='503 Service Unavailable';
csHTTP_RESPONSE_504 ='504 Gateway Timeout';
csHTTP_RESPONSE_505 ='505 HTTP Version Not Supported';
csHTTP_RESPONSE_506 ='506 Variant Also Negotiates';
csHTTP_RESPONSE_507 ='507 Insufficient Storage';
csHTTP_RESPONSE_509 ='509 Bandwidth Limit Exceeded';
csHTTP_RESPONSE_510 ='510 Not Extended';
csINET_HDR_ACCEPT ='Accept: ';
csINET_HDR_ACCEPT_CHARSET ='Accept-Charset: ';
csINET_HDR_ACCEPT_ENCODING ='Accept-Encoding: ';
csINET_HDR_ACCEPT_LANGUAGE ='Accept-Language: ';
csINET_HDR_CACHE_CONTROL ='Cache-Control: ';
csINET_HDR_CONNECTION ='Connection: ';
csINET_HDR_CONTENT_LENGTH ='Content-Length: ';
csINET_HDR_CONTENT_TYPE ='Content-Type: ';
csINET_HDR_COOKIE ='Cookie: ';
csINET_HDR_HOST ='Host: ';
csINET_HDR_JEGAS ='Jegas: ';
csINET_HDR_KEEPALIVE ='Keep-Alive: ';
csINET_HDR_LAST_MODIFIED ='Last-Modified: ';
csINET_HDR_METHOD_GET ='GET';
csINET_HDR_METHOD_POST ='POST';
csINET_HDR_REFERER ='Referer: ';
csINET_HDR_SERVER ='Server: ';
csINET_HDR_SETCOOKIE ='Set-Cookie: ';
csINET_HDR_USER_AGENT ='User-Agent: ';
csINET_JAS_CGI_SOFTWARE ='Jegas CGI Application / Jegas, LLC Version 1.0 -en';
csINET_JAS_SERVER_SOFTWARE ='Jegas Application Server / Jegas, LLC -en';
csJAS_CACHE_CONTROL = 'CACHE_CONTROL';
csLF=#10;
csLOG_FILENAME_DEFAULT='jegaslog.csv';
csMIME_AppForceDownload = 'application/force-download';
csMime_AudioMid= 'audio/midi';
csMime_AudioMidi= 'audio/midi';
csMime_AudioMPeg= 'audio/mpeg';
csMime_AudioWav= 'audio/x-wav';
csMime_ExecuteCGI= 'execute/cgi';
csMime_ExecuteEXE= 'execute/cgi';
csMIME_ExecuteJegas= 'execute/jegas';
csMime_ExecutePerl= 'execute/perl';
csMime_ExecutePHP= 'execute/php';
csMime_ImageBmp= 'image/bmp';
csMime_ImageGif = 'image/gif';
csMIME_ImageIcon = 'image/x-icon';
csMime_ImageJPeg = 'image/jpeg';
csMime_ImageJPG = 'image/jpeg';
csMIME_ImagePng = 'image/png';
csMime_Javascript = 'application/x-javascript';
csMime_PDF = 'application/pdf';
csMime_TextCSS = 'text/css';
csMIME_TextHtm = 'text/htm';
csMIME_TextHtml = 'text/html';
csMIME_TextPlain = 'text/plain';
csMime_TextRTF= 'text/rtf';
csMIME_TextWSDL = 'text/xml';
csMIME_TextXml = 'text/xml';
csSPACE = #32;
csTAB=#9;
csTIMEFORMAT='tt';
csTIMEFORMAT24='hh:nn:ss';
csUIDFORMAT='YYYYMMDDhhmmsszzz';
csWEBDATETIMEFORMAT='ddd, dd mmm yyyy hh:nn:ss "GMT"';
cs_HEXVALUES = '0123456789ABCDEF';
PI = 3.14159265358979323846264338327950288419716939937510582097;
READ_ONLY = 0;
READ_WRITE = 2;
Sys_E2BIG = 7;
Sys_EACCES = 13;
Sys_EACCESS = 13;
Sys_EADDRINUSE= 98;
Sys_EADDRNOTAVAIL= 99;
Sys_EADV = 68;
Sys_EAFNOSUPPORT= 97;
Sys_EAGAIN = 11;
Sys_EALREADY= 114;
Sys_EBADE = 52;
Sys_EBADF = 9;
Sys_EBADFD = 77;
Sys_EBADMSG = 74;
Sys_EBADR = 53;
Sys_EBADRQC = 56;
Sys_EBADSLT = 57;
Sys_EBFONT = 59;
Sys_EBUSY = 16;
Sys_ECHILD = 10;
Sys_ECHRNG = 44;
Sys_ECOMM = 70;
Sys_ECONNABORTED= 103;
Sys_ECONNREFUSED= 111;
Sys_ECONNRESET= 104;
Sys_EDEADLK = 35;
Sys_EDEADLOCK = 58;
Sys_EDESTADDRREQ= 89;
Sys_EDOM = 33;
Sys_EDOTDOT = 73;
Sys_EDQUOT = 122;
Sys_EEXIST = 17;
Sys_EFAULT = 14;
Sys_EFBIG = 27;
Sys_EHOSTDOWN= 112;
Sys_EHOSTUNREACH= 113;
Sys_EIDRM = 43;
Sys_EILSEQ = 84;
Sys_EINPROGRESS= 115;
Sys_EINTR = 4;
Sys_EINVAL = 22;
Sys_EIO = 5;
Sys_EISCONN = 106;
Sys_EISDIR = 21;
Sys_EISNAM = 120;
Sys_EL2HLT = 51;
Sys_EL2NSYNC= 45;
Sys_EL3HLT = 46;
Sys_EL3RST = 47;
Sys_ELIBACC = 79;
Sys_ELIBBAD = 80;
Sys_ELIBEXEC= 83;
Sys_ELIBMAX = 82;
Sys_ELIBSCN = 81;
Sys_ELNRNG = 48;
Sys_ELOOP = 40;
Sys_EMFILE = 24;
Sys_EMLINK = 31;
Sys_EMSGSIZE= 90;
Sys_EMULTIHOP= 72;
Sys_ENAMETOOLONG= 36;
Sys_ENAVAIL = 119;
Sys_ENETDOWN= 100;
Sys_ENETRESET= 102;
Sys_ENETUNREACH= 101;
Sys_ENFILE = 23;
Sys_ENOANO = 55;
Sys_ENOBUFS = 105;
Sys_ENOCSI = 50;
Sys_ENODATA = 61;
Sys_ENODEV = 19;
Sys_ENOENT = 2;
Sys_ENOEXEC = 8;
Sys_ENOLCK = 37;
Sys_ENOLINK = 67;
Sys_ENOMEM = 12;
Sys_ENOMSG = 42;
Sys_ENONET = 64;
Sys_ENOPKG = 65;
Sys_ENOPROTOOPT= 92;
Sys_ENOSPC = 28;
Sys_ENOSR = 63;
Sys_ENOSTR = 60;
Sys_ENOSYS = 38;
Sys_ENOTBLK = 15;
Sys_ENOTCONN= 107;
Sys_ENOTDIR = 20;
Sys_ENOTEMPTY= 39;
Sys_ENOTNAM = 118;
Sys_ENOTSOCK= 88;
Sys_ENOTTY = 25;
Sys_ENOTUNIQ= 76;
Sys_ENXIO = 6;
Sys_EOPNOTSUPP= 95;
Sys_EOVERFLOW= 75;
Sys_EPERM = 1;
Sys_EPFNOSUPPORT= 96;
Sys_EPIPE = 32;
Sys_EPROTO = 71;
Sys_EPROTONOSUPPORT= 93;
Sys_EPROTOTYPE= 91;
Sys_ERANGE = 34;
Sys_EREMCHG = 78;
Sys_EREMOTE = 66;
Sys_EREMOTEIO= 121;
Sys_ERESTART= 85;
Sys_EROFS = 30;
Sys_ESHUTDOWN= 108;
Sys_ESOCKTNOSUPPORT= 94;
Sys_ESPIPE = 29;
Sys_ESRCH = 3;
Sys_ESRMNT = 69;
Sys_ESTALE = 116;
Sys_ESTRPIPE= 86;
Sys_ETIME = 62;
Sys_ETIMEDOUT= 110;
Sys_ETOOMANYREFS= 109;
Sys_ETXTBSY = 26;
Sys_EUCLEAN = 117;
Sys_EUNATCH = 49;
Sys_EUSERS = 87;
Sys_EWOULDBLOCK = Sys_EAGAIN;
Sys_EXDEV = 18;
Sys_EXFULL = 54;
WRITE_ONLY = 1;

Variables

UINTMAX: UInt64;

Description

Functions and Procedures

Function bIOAppend_NOT_TS(p_saFilename: ansiString; p_saData: AnsiString; var p_u2IOResult: Word): Boolean;

Note: This function appends p_saFilename, if it exists, with data passed in p_saData. If the file does not exist, it is created if possible. The function returns TRUE if successful and false if not. IF you wish to see the FREEPASCAL returned IORESULT (error code) then the (by reference) passing of p_u2IOREsult (an unsigned word) will contain the offending cause. Two versions of the routine are supplied, one that allows you to interrogate the IORESULT, and one that assumes the boolean result (TRUE it worked) is enough for you.

NOTE: NOT THREADSAFE

append an ansistring to existing file - or write new file using it this variation does not return error code, just true if successful

p_saFilename: Name of File to be appended p_saData: Text/Or stream of bytes stuffed in an ansistring to be appended. Note: ASCII EOL Not Sent!!!!!!! See ixx_jegas_macros.pp for csEOL. This variation returns the IORESULT - see sIOResult function.

Function bIOAppend_NOT_TS(p_saFilename: ansiString; p_saData: AnsiString): Boolean;

Note: This function appends p_saFilename, if it exists, with data passed in p_saData. If the file does not exist, it is created if possible. The function returns TRUE if successful and false if not. IF you wish to see the FREEPASCAL returned IORESULT (error code) then the (by reference) passing of p_u2IOREsult (an unsigned word) will contain the offending cause. Two versions of the routine are supplied, one that allows you to interrogate the IORESULT, and one that assumes the boolean result (TRUE it worked) is enough for you.

NOTE: NOT THREADSAFE

append an ansistring to existing file - or write new file using it this variation does not return error code, just true if successful

p_saFilename: Name of File to be appended p_saData: Text/Or stream of bytes stuffed in an ansistring to be appended. Note: ASCII EOL Not Sent!!!!!!! See ixx_jegas_macros.pp for csEOL.

Function bLoadFile(p_saSrc: ansiString; Var p_saData: AnsiString; Var p_u2IOResult: Word):Boolean;

loads specified file into p_saData. USes Block Read, any speed loss would be from the constant appending to the p_sadata as the file loads.

Function bLoadFile(p_saSrc: ansiString; Var p_saData: AnsiString):Boolean;

loads specified file into p_saData. USes Block Read, any speed loss would be from the constant appending to the p_sadata as the file loads.

Function bLoadFileRO(p_saSrc: ansiString; Var p_saData: AnsiString; Var p_u2IOResult: Word):Boolean;

Slow, Sure Fire READ ONLY Method. I recommend Using bLoadFile opposed to this Because this method reads ONE char at a time whereas bLoadFile does MUCH faster block reads. I Noticed, on linux anyway, that the BLOCKREAD seems to need FULL ACCESS (read/write) on the file for it to work, therefore, in trying to come up with a way to read READONLY files that DOESN'T respond to TEXT (Treats incoming as Binary...AS IS or RAW) I did this. IF anyone know a FASTER method...Do Share! Bˆ)

Function bLoadFileRO(p_saSrc: ansiString; Var p_saData: AnsiString):Boolean;

Slow, Sure Fire READ ONLY Method. I recommend Using bLoadFile opposed to this Because this method reads ONE char at a time whereas bLoadFile does MUCH faster block reads. I Noticed, on linux anyway, that the BLOCKREAD seems to need FULL ACCESS (read/write) on the file for it to work, therefore, in trying to come up with a way to read READONLY files that DOESN'T respond to TEXT (Treats incoming as Binary...AS IS or RAW) I did this. IF anyone know a FASTER method...Do Share! Bˆ)

Function bLoadTextfile(p_sa: ansiString; Var p_saData: AnsiString; Var p_u2IOResult: Word):Boolean;

Simply Loads the text file you specify in p_sa and returns the whole thing as a string - NOTE: CR/LF or whatever is removed by readln of file text and replaced with CR/LF on Windows and just LF on other OS's

TRUE=Success, False=Errors You can check the ioresult value in the second calling variation by passing a word vari for the resultant ioresult.

p_saData contains all successfully read data.

Small Files - Don't go crazy. ;)

Function bLoadTextfile(p_sa: ansiString; Var p_saData: AnsiString):Boolean;

Simply Loads the text file you specify in p_sa and returns the whole thing as a string - NOTE: CR/LF or whatever is removed by readln of file text and replaced with CR/LF on Windows and just LF on other OS's

TRUE=Success, False=Errors You can check the ioresult value in the second calling variation by passing a word vari for the resultant ioresult.

p_saData contains all successfully read data.

Small Files - Don't go crazy. ;)

Function bVal(p_s: String): boolean; inline;

Takes a string and turns it to TRUE or FALSE as best it can. does convert to lower case before trying to discern anything looks for TRUE: "1" "true" "t" "TRUE" "T" "YES" "Yes" "Y" "ON" "On" looks for FALSE: everything else

Replaces: Function bYesNo(p_saYesNo: AnsiString): Boolean; Function bTrueFalse(p_saTrueFalse: AnsiString):Boolean; Function bOnOff(p_saTrueFalse: AnsiString):Boolean;

Function cOneZero(p_b: Boolean):char;

Returns a '1' or a '0' as an ansistring

Procedure DeleteString(Var p_sa: AnsiString; p_uStart, p_uCount: UInt64);

Replaces FPC "DELETE" because it fails with BIG strings and RightStr in the SYSUTILS unit seems to work - so This is a "remake" of the FPC "Delete" functionality - hopefully without a bug.

Function fdVal(p_s: String): currency; inline;

Pass TRimmed string containing suspected Currency (fixed decimal) returns value - returns ZERO if it can't figure it out

Function fpVal(p_s: String): Real; inline;

Pass TRimmed string containing suspected REAL (Floating Point) returns value - returns ZERO if it can't figure it out

function i1Val(p_s: String): shortint; inline;

Pass TRimmed string containing suspected integers returns value - returns ZERO if it can't figure it out

function i4Val(p_s: String): longint; inline;

Pass TRimmed string containing suspected integers returns value - returns ZERO if it can't figure it out

function i8Val(p_s: String): Int64; inline;

Pass TRimmed string containing suspected integers returns value - returns ZERO if it can't figure it out

Function iPlotCenter(p_i4Range: LongInt; p_i4Size: LongInt): Longint;

returns plot position that would center something p_i4Size inside p_i4Range

Function iVal(p_s: String):Int64; inline;

============================================================================= Converts string to Int64 - using i8Val function internally

Function saAddFwdSlash(p_sa: AnsiString):AnsiString;

Same as saAddSlash but regardless of OS platform - puts forward slash (think web) IF YOU SEND EMPTY STRING - YOU GET EMPTY STRING (Think Current Dir)

Function saAddSlash(p_sa:AnsiString):AnsiString;

Makes Sure LAST char in string has DOSSLASH (i03_target.pas) IF YOU SEND EMPTY STRING - YOU GET EMPTY STRING (Think Current DIR)

Function saDecodeURI(p_sa: AnsiString): AnsiString;

Old Name: saTranslatedCGI This function turns those pesky URL Encoded strings that look like: Hello%20Dude%20 to Hello Dude. you want to do this AFTER you broke the string into Name and Value pairs. - OK - New Name Taken - OldName was: saTranslatedCGI

Function saEncodeURI(p_sa: AnsiString): AnsiString;

Old Name: saTranslatedCGI This function makes data URI encoded. Hello Dude to Hello%20Dude%20 IMPORTANT: This function translates EVERYTHING not in ' 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' Spaces are turned to pluses (+) This means if you want to encode multiple URI parameters, you need to something like: sa:='http://someurl/somefile.html?param1=' +saEncodeURI(thedata1)+'&param2'+saEncodeURI(thedata1);

Function saFileToTreeDOS(p_saFilename: AnsiString;p_u1Size, p_u1Levels: byte): AnsiString;

This function returns a tree directory relative path based on the file you pass it. It works by chopping the file name you pass it into p_iSize Chunks, p_iLevels (chunks), and returns the relative path without a leading slash BUT with an ending slash. No Checking is done other than length(p_saFilename)>=pi_size * i_iLevels. You need to make Sure you don't get "." periods in the parts of the filename getting chunked or you app most likely won't work.

Example: MyRelPAth:=saFileToTree('F10023.txt, 2,2);

MyRelPath = 'F1/00/' (Uses DOSSLASH)

Function saFileToTreeFWDSlash(p_saFilename: AnsiString; p_u1Size, p_u1Levels: byte): AnsiString;

This function returns a tree directory relative path based on the file you pass it. It works by chopping the file name you pass it into p_iSize Chunks, p_iLevels (chunks), and returns the relative path without a leading slash BUT with an ending slash. No Checking is done other than length(p_saFilename)>=pi_size * i_iLevels. You need to make Sure you don't get "." periods in the parts of the filename getting chunked or you app most likely won't work.

Example: MyRelPAth:=saFileToTree('F10023.txt, 2,2);

MyRelPath = 'F1/00/' (Uses Forward Slash ALWAYS)

Function saFixedLength(p_sa: AnsiString; p_uStart, p_uLen: UInt64): AnsiString;

This routine returns the string you pass it but set to a fixed width. Additionally it requires you to specify what part of the passed string you want returned; you set the start position and how many chars to be processed. There are two versions of this function. One allows you to additionally pass what the padding character to use when adding chars to the end of the result if required. The other one uses a space character as the default; we call this the shorthand version. Bˆ)

This is the shorthand version - the pad character is a space (ascii 32dec)

Function saFixedLength(p_sa: AnsiString; p_uStart, p_uLen: UInt64; p_chPadchar: char): AnsiString;

This routine returns the string you pass it but set to a fixed width. Additionally it requires you to specify what part of the passed string you want returned; you set the start position and how many chars to be processed. There are two versions of this function. One allows you to additionally pass what the padding character to use when adding chars to the end of the result if required. The other one uses a space character as the default; we call this the shorthand version. Bˆ)

This is the Longhand version - allows setting the pad char explicitly.

function saFixSlash( p_sa: ansistring): ansistring;

converts slashes in directory paths to the correct ones for the operating system.

Function saHTMLScrub(p_sa: AnsiString): AnsiString;

This function converts text to HTML safe codes in theory

Function saHTMLUnScrub(p_sa: AnsiString): AnsiString;

This function converts HTML safe codes back

Function saHumanReadable(p_sa: AnsiString): AnsiString;

TODO: OverHaul this to a REgular Expression Like converter. Was about to do this 2006-05-07 but its going to take awhile but should be done. The tricky part that I'm ready to tackle tonight is the fact that support needs to made for escaping both unicode and ASCII, and the reciprocal of this regular expression deal is having to convert octal sequences like \377 <– Yup that COULD be octal! 3 digi's after slash. Anyways, this is what it is for now. There is code in this lib somewhere (saDecodeURI) that handles escaping for the URL requests, and back in that format that looks like %20Hello%20Dude, perhaps this should be an option: Original HumanReadable, with the (#xx) where xx=ascii value 0-255 enclosed in paren's, The URL escaping, or the RegularExpression Escaping. that is, make three modes.

Function saJegasLogoRawHtml: AnsiString;
 
Function saMySQLScrub(p_sa: AnsiString):AnsiString;

Converts Anything NON A-Z, a-z, 0-9 into underscore and returns converted String as result - Tailored for MySQL.

Function saRepeatChar(p_ch: Char; p_uHowMany: UInt64): AnsiString;

pass a char and how many of it you want back - "Repated" ... and that's what you get.

Function saReverse(p_sa: AnsiString): AnsiString;

Returns parameter ansistring in reverse - Hello becomes olleH

Function saRJustify(p_sa: AnsiString;p_uLength: UInt64): AnsiString;

Returns p_sa as string with leading SPACES. Length specified in p_uLength RightJustify

function saScramble(p_sa: ansistring): ansistring;

bare minimum text scramble - strong enough to not be plain text and not suffer the xor issues from one char set to another across javascript, the browser versus the server. It doesn't always translate regardless of the whys. This is an effort to just use characters that make even the sent passwords for login/changing password mangled enough that if the data flies across a console - its hidden. in the database its hidden.

Function saSNR(Var p_sa: AnsiString;p_chSearchFor: Char;p_chReplaceWith: Char): AnsiString;

searchs string for instances of p_chSearchFor and replaces it with

Function saSNRStr(p_sa: AnsiString; p_saSearchFor: AnsiString; p_u4ReplaceWith:cardinal; p_bCaseSensitive: Boolean): AnsiString;
 
Function saSNRStr(p_sa: AnsiString; p_saSearchFor: AnsiString; p_u8ReplaceWith:uint64): AnsiString;
 
Function saSNRStr(p_sa: AnsiString; p_saSearchFor: AnsiString; p_u4ReplaceWith:cardinal): AnsiString;

Function saSNRStr(p_sa: AnsiString; p_saSearchFor: AnsiString;p_saReplaceWith:AnsiString): AnsiString;

This function - originally existed in the strings unit but was snagged here to prevent circular references. This is the core unit (planned for) of many thing but the main reason it was started was for the system to be able to record a log for debugging itself.

NOTE: Two Calls, one with implicit control of case sensitivity, one without. This version is NOT case sensistive, and is shorthand for the latter)

Function saSNRStr(p_sa: AnsiString; p_saSearchFor: AnsiString; p_saReplaceWith:AnsiString; p_bCaseSensitive: Boolean): AnsiString;

This function - originally existed in the strings unit but was snagged here to prevent circular references. This is the core unit (planned for) of many thing but the main reason it was started was for the system to be able to record a log for debugging itself.

NOTE: Two Calls, one with implicit control of case sensitivity, one without. This version is allows you to specify case sensistivity.

Function saSNRStr(p_sa: AnsiString; p_saSearchFor: AnsiString; p_u8ReplaceWith:uint64; p_bCaseSensitive: Boolean): AnsiString;
 
Function saSpecialSNR(Var p_sa: AnsiString; p_chSearchFor: Char;p_chReplaceWith: Char): AnsiString;

searchs string for instances of p_chSearchFor that aren't paired In a Pair, one is removed EXAMPLE: "John && Bob" Would Become "John & Bob" if Searching for "&" If a single "&" was found, it would be replaced with p_chReplaceWith

Function saSQLScrub(p_sa: AnsiString):AnsiString;

Does Some Changes to make going to MS SQL (And Access) a little easier.

Function saXorString(p_sa: AnsiString; p_u1Key: Byte):AnsiString;

This function XORs an entire string using the passed key parameter.

function sByteToHex(p_b1: byte): string; inline;

Pass this function a char and a 2 digit hex value is returned to represent the byte

function sCharToHex(p_ch: char): string; inline;

Pass this function a char and a 2 digit hex value is returned to represent the byte

function sDelimitInt(p_I: Int64): string; inline;

=============================================================================

function sDelimitUInt(p_U: UInt64): string;

=============================================================================

Function sFormatLongIntWithCommas(p_i4: LongInt): String; inline;

Pass this a longint and you get a ansistring with comma format Cheap - Works up to 4g 4,xxx,xxx,xxx

Function sIntToStr(p_i8:Int64):String; inline;

for formmating - use freepascal's str directly with str(number:digits:decimals, stringresult);

************************************************************************* NOTE: Use inttostr instead, unless you want lean an mean and your application is purposely intended to not have the sysutils FPC RTL unit used or other OOP code with the intention being to create tiny executables. *************************************************************************

Function sIOResult(p_u2: Word; p_u2Language: word): String;

Returns a string containing ERROR text for the given IOREsult Error code. This version allows language specifier. "en" is the default=English. Note: As you translate this code base, you will need to address this function but at the least the architecture is in place to make it possible. If you are worried about tight compiled binaries, you can set the LANGUAGES_TO_INCLUDE define located in i01_jegas_macros.pp Also see declarations like: cnLANG_ENGLISH

Function sIOResult(p_u2: Word): String;

Returns a string containing ERROR text for the given IOREsult Error code.

Function sOnOff(p_b:Boolean): string; inline;

NOTE: For (Function bOnOff(p_sOnOff: AnsiString): Boolean;) Use bVal() in ug_common.pp I believe - Jason

Function sRJustifyInt(p_i8,p_u1Length: byte): String;

Returns p_i as string with leading SPACES. Length specified in p_u1Length

Function sSNR(Var p_s: String;p_chSearchFor: Char;p_chReplaceWith: Char): String;

this is the short string variety of Function saSNR(Var p_sa: AnsiString;p_chSearchFor: Char;p_chReplaceWith: Char): AnsiString;

Function sSNRStr(p_s: String; p_sSearchFor: String;p_sReplaceWith:String): String;

This is the short string variety of saSNRStr(p_sa: AnsiString; p_saSearchFor: AnsiString;p_saReplaceWith:AnsiString): AnsiString;

Function sSNRStr(p_s: String; p_sSearchFor: String; p_sReplaceWith:string; p_bCaseSensitive: Boolean): String;

This is the short string variety of saSNRStr(p_sa: AnsiString; p_saSearchFor: AnsiString; p_saReplaceWith:AnsiString; p_bCaseSensitive: Boolean): AnsiString;

Function sTrueFalse(p_b: Boolean): String; inline;

Returns English "True" or "False" The Old version returned a fixed width version of this result - so I don't want to break code - SO... This returns "True " or "False"

Function sTrueFalseFixedLength(p_b: Boolean): String; inline;

"TRUE " or "FALSE" - Note space after "TRUE "

function sU8ToHex(p_u8: uInt64): string;

Convert Unsigned 64bit number to Hex

Function sYesNo(p_b:Boolean): String; inline;

Returns English "Yes" or "No " The Old version returned a fixed width version of this result - so I don't want to break code - SO... This returns "Yes" or "No "

Function sYesNoFixedLength(p_b:Boolean): String; inline;

"YES" or "NO " - Note Space after "NO "

Function sZeroPadInt(p_i8: int64; p_u1Length: byte): String;

Returns p_i as string with leading zeroes. Length specified in p_u1Length

Function sZeroPadUInt(p_u8: uint64; p_u1Length: byte): String;

============================================================================= Returns p_u as string with leading zeroes. Length specified in p_u1Length

Function u1Hex(p_ch: Char): Byte; inline;

Pass a char 0-F (not case sensitive) - it returns the Value in hex - illegal chars comeback as ZERO. Only returning a nyble no matter what.

function u1Val(p_s: String): byte; inline;

Pass TRimmed string containing suspected integers returns value - returns ZERO if it can't figure it out

Function u2GetCRC16(p_saSrcFile: ansiString):word;

Returns 16 bit CRC calculated on the file passed in p_saSrcFile Returns 0 if anything wrong or zero length file or file of all zero bytes I suppose would do it.

function u2Val(p_s: String): word; inline;

Pass TRimmed string containing suspected integers returns value - returns ZERO if it can't figure it out

function u4Val(p_s: String): cardinal; inline;

Pass TRimmed string containing suspected integers returns value - returns ZERO if it can't figure it out

Function u8GetCRC64(p_saSrcFile: ansiString):word;

Returns 64 bit CRC calculated on the file passed in p_saSrcFile Returns 0 if anything wrong or zero length file or file of all zero bytes I suppose would do it.

function u8HexToU8(p_s: string): uint64;

Convert Hex to Unsigned 64bit number NOTE: No verification of validity of the hex digits is done. Also, No NON-HEX digits are expected and results are undefined for non-hex characters!!!

function u8Val(p_s: String): UInt64; inline;

Pass TRimmed string containing suspected integers returns value - returns ZERO if it can't figure it out

function uVal(p_s: String): UInt64; inline;

Pass TRimmed string containing suspected integers returns value - returns ZERO if it can't figure it out

Procedure Yield(p_uMilliSeconds:UInt64);

This orignally just worked on windows, and calls the sleep API call. Now 2006-09-15 - Added conditional define so that in linux, sysutils unit gets included - and performs their generic "sleep" function. Free the processor up - thats what I needed.

The idea is to be able to make a program yield when it doesn't need the CPU at the moment.

Constants

B00 = 1;

Bit 0

B01 = 2;

Bit 1

B02 = 4;

Bit 2

B03 = 8;

Bit 3

B04 = 16;

Bit 4

B05 = 32;

Bit 5

B06 = 64;

Bit 6

B07 = 128;

Bit 7

B08 = 256;

Bit 8

B09 = 512;

Bit 9

B10 = 1024;

Bit 10

B11 = 2048;

Bit 11

B12 = 4096;

Bit 12

B13 = 8192;

Bit 13

B14 = 16384;

Bit 14

B15 = 32768;

Bit 15

B16 = 65536;

Bit 16

B17 = 131072;

Bit 17

B18 = 262144;

Bit 18

B19 = 524288;

Bit 19

B20 = 1048576;

Bit 20

B21 = 2097152;

Bit 21

B22 = 4194304;

Bit 22

B23 = 8388608;

Bit 23

B24 = 16777216;

Bit 24

B25 = 33554432;

Bit 25

B26 = 67108864;

Bit 26

B27 = 134217728;

Bit 27

B28 = 268435456;

Bit 28

B29 = 536870912;

Bit 29

B30 = 1073741824;

Bit 30

B31 = 2147483648;

Bit 31

B32 = 4294967296;

Bit 32

B33 = 8589934592;

Bit 33

B34 = 17179869184;

Bit 34

B35 = 34359738368;

bit 35

B36 = 68719476736;

bit 36

B37 = 137438953472;

bit 37

B38 = 274877906944;

bit 38

B39 = 549755813888;

bit 39

B40 = 1099511627776;

bit 40

B41 = 2199023255552;

bit 41

B42 = 4398046511104;

bit 42

B43 = 8796093022208;

bit 43

B44 = 17592186044416;

bit 44

B45 = 35184372088832;

bit 45

B46 = 70368744177664;

bit 46

B47 = 140737488355328;

bit 47

B48 = 281474976710656;

bit 48

B49 = 562949953421312;

bit 49

B50 = 1125899906842620;

bit 50

B51 = 2251799813685250;

bit 51

B52 = 4503599627370500;

bit 52

B53 = 9007199254740990;

bit 53

B54 = 18014398509482000;

bit 54

B55 = 36028797018964000;

bit 55

B56 = 72057594037927900;

bit 56

B57 = 144115188075856000;

bit 57

B58 = 288230376151712000;

bit 58

B59 = 576460752303424000;

bit 59

B60 = 1152921504606850000;

bit 60

B61 = 2305843009213690000;

bit 61

B62 = 4611686018427390000;

bit 62

B63 = 9223372036854780000;

bit 63

cnCentimeters=100.0;
 
cnDays=86400;
 
cnFeet=3.28084;
 
cnHours=3600;
 
cnHoursPerDay=24;
 
cnHTTP_RESPONSE_100 = 100;

INFORMATIONAL HTTP Server Response Code: This means that the server has received the request headers, and that the client should proceed to send the request body (in the case of a request for which a body needs to be sent; for example, a POST request). If the request body is large, sending it to a server when a request has already been rejected based upon inappropriate headers is inefficient. To have a server check if the request could be accepted based on the request's headers alone, a client must send Expect: 100-continue as a header in its initial request (see RFC 2616 §14.20 – Expect header) and check if a 100 Continue status code is received in response before continuing (or receive 417 Expectation Failed and not continue).[2]

cnHTTP_RESPONSE_101 = 101;

INFORMATIONAL HTTP Server Response Code: : This means the requester has asked the server to switch protocols and the server is acknowledging that it will do so.[3]

cnHTTP_RESPONSE_102 = 102;

INFORMATIONAL HTTP Server Response Code: WebDAV Related - RFC 2518

cnHTTP_RESPONSE_200 =200;

2xx Success - The action was successfully received, understood, and accepted. Standard response for successful HTTP requests. The actual response will depend on the request method used. In a GET request, the response will contain an objectcorresponding to the requested resource. In a POST request the response will contain an objectdescribing or containing the result of the action.

cnHTTP_RESPONSE_201 =201;

2xx Success - The action was successfully received, understood, and accepted. The request has been fulfilled and resulted in a new resource being created.

cnHTTP_RESPONSE_202 =202;

2xx Success - The action was successfully received, understood, and accepted. The request has been accepted for processing, but the processing has not been completed. The request might or might not eventually be acted upon, as it might be disallowed when processing actually takes place.

cnHTTP_RESPONSE_203 =203;

(since HTTP/1.1) 2xx Success - The action was successfully received, understood, and accepted. The server successfully processed the request, but is returning information that may be from another source.

cnHTTP_RESPONSE_204 =204;

2xx Success - The action was successfully received, understood, and accepted. The server successfully processed the request, but is not returning any content.

cnHTTP_RESPONSE_205 =205;

2xx Success - The action was successfully received, understood, and accepted. The server successfully processed the request, but is not returning any content. Unlike a 204 response, this response requires that the requester reset the document view.

cnHTTP_RESPONSE_206 =206;

2xx Success - The action was successfully received, understood, and accepted. The server is delivering only part of the resource due to a range header sent by the client. This is used by tools like wget to enable resuming of interrupted downloads, or split a download into multiple simultaneous streams.

cnHTTP_RESPONSE_207 =207;

2xx Success - The action was successfully received, understood, and accepted. WebDAV - The message body that follows is an XML message and can contain a number of separate response codes, depending on how many sub-requests were made.

cnHTTP_RESPONSE_226 =226;

2xx Success - The action was successfully received, understood, and accepted. (NOT INSTANT MESSENGER RELATED!) The server lists the set of instance-manipulations it has applied.

cnHTTP_RESPONSE_300 =300;

3xx Redirection - The client must take additional action to complete the request. This class of status code indicates that further action needs to be taken by the user agent in order to fulfil the request. The action required may be carried out by the user agent without interaction with the user if and only if the method used in the second request is GET or HEAD. A user agent should not automatically redirect a request more than five times, since such redirections usually indicate an infinite loop. Indicates multiple options for the resource that the client may follow. It, for instance, could be used to present different format options for video, list files with different extensions, or word sense disambiguation.

cnHTTP_RESPONSE_301 =301;

3xx Redirection - The client must take additional action to complete the request. This class of status code indicates that further action needs to be taken by the user agent in order to fulfil the request. The action required may be carried out by the user agent without interaction with the user if and only if the method used in the second request is GET or HEAD. A user agent should not automatically redirect a request more than five times, since such redirections usually indicate an infinite loop. This and all future requests should be directed to the given URI.

cnHTTP_RESPONSE_302 =302;

3xx Redirection - The client must take additional action to complete the request. This class of status code indicates that further action needs to be taken by the user agent in order to fulfil the request. The action required may be carried out by the user agent without interaction with the user if and only if the method used in the second request is GET or HEAD. A user agent should not automatically redirect a request more than five times, since such redirections usually indicate an infinite loop.This is the most popular redirect code[citation needed], but also an example of industrial practice contradicting the standard. HTTP/1.0 specification (RFC 1945 ) required the client to perform a temporary redirect (the original describing phrase was "Moved Temporarily"), but popular browsers implemented it as a 303 See Other. Therefore, HTTP/1.1 added status codes 303 and 307 to disambiguate between the two behaviours. However, the majority of Web applications and frameworks still use the 302 status code as if it were the 303.

cnHTTP_RESPONSE_303 =303;

3xx Redirection - The client must take additional action to complete the request. This class of status code indicates that further action needs to be taken by the user agent in order to fulfil the request. The action required may be carried out by the user agent without interaction with the user if and only if the method used in the second request is GET or HEAD. A user agent should not automatically redirect a request more than five times, since such redirections usually indicate an infinite loop. The response to the request can be found under another URI using a GET method. When received in response to a PUT, it should be assumed that the server has received the data and the redirect should be issued with a separate GET message.

cnHTTP_RESPONSE_304 =304;

3xx Redirection - The client must take additional action to complete the request. This class of status code indicates that further action needs to be taken by the user agent in order to fulfil the request. The action required may be carried out by the user agent without interaction with the user if and only if the method used in the second request is GET or HEAD. A user agent should not automatically redirect a request more than five times, since such redirections usually indicate an infinite loop. Indicates the resource has not been modified since last requested. Typically, the HTTP client provides a header like the If-Modified-Since header to provide a time against which to compare. Utilizing this saves bandwidth and reprocessing on both the server and client, as only the header data must be sent and received in comparison to the entirety of the page being re-processed by the server, then resent using more bandwidth of the server and client.

cnHTTP_RESPONSE_305 =305;

(since HTTP/1.1) 3xx Redirection - The client must take additional action to complete the request. This class of status code indicates that further action needs to be taken by the user agent in order to fulfil the request. The action required may be carried out by the user agent without interaction with the user if and only if the method used in the second request is GET or HEAD. A user agent should not automatically redirect a request more than five times, since such redirections usually indicate an infinite loop. Many HTTP clients (such as Mozilla[4] and Internet Explorer) do not correctly handle responses with this status code, primarily for security reasons.

cnHTTP_RESPONSE_306 =306;

(No longer used.) 3xx Redirection - The client must take additional action to complete the request. This class of status code indicates that further action needs to be taken by the user agent in order to fulfil the request. The action required may be carried out by the user agent without interaction with the user if and only if the method used in the second request is GET or HEAD. A user agent should not automatically redirect a request more than five times, since such redirections usually indicate an infinite loop.

cnHTTP_RESPONSE_307 =307;

(since HTTP/1.1) 3xx Redirection - The client must take additional action to complete the request. This class of status code indicates that further action needs to be taken by the user agent in order to fulfil the request. The action required may be carried out by the user agent without interaction with the user if and only if the method used in the second request is GET or HEAD. A user agent should not automatically redirect a request more than five times, since such redirections usually indicate an infinite loop. In this occasion, the request should be repeated with another URI, but future requests can still use the original URI. In contrast to 303, the request method should not be changed when reissuing the original request. For instance, a POST request must be repeated using another POST request.

cnHTTP_RESPONSE_400 =400;

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. The request contains bad syntax or cannot be fulfilled.

cnHTTP_RESPONSE_401 =401;

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. Similar to 403 Forbidden, but specifically for use when authentication is possible but has failed or not yet been provided. The response must include a WWW-Authenticate header field containing a challenge applicable to the requested resource. See Basic access authentication and Digest access authentication.

cnHTTP_RESPONSE_402 =402;

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. The original intention was that this code might be used as part of some form of digital cash or micropayment scheme, but that has not happened, and this code has never been used.

cnHTTP_RESPONSE_403 =403;

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. The request was a legal request, but the server is refusing to respond to it. Unlike a 401 Unauthorized response, authenticating will make no difference.

cnHTTP_RESPONSE_404 =404;

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. The requested resource could not be found but may be available again in the future. Subsequent requests by the client are permissible.

cnHTTP_RESPONSE_405 =405;

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. A request was made of a resource using a request method not supported by that resource; for example, using GET on a form which requires data to be presented via POST, or using PUT on a read-only resource.

cnHTTP_RESPONSE_406 =406;

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. The requested resource is only capable of generating content not acceptable according to the Accept headers sent in the request.

cnHTTP_RESPONSE_407 =407;

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online.

cnHTTP_RESPONSE_408 =408;

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. The server timed out waiting for the request.

cnHTTP_RESPONSE_409 =409;

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. Indicates that the request could not be processed because of conflict in the request, such as an edit conflict.

cnHTTP_RESPONSE_410 =410;

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. Indicates that the resource requested is no longer available and will not be available again. This should be used when a resource has been intentionally removed; however, it is not necessary to return this code and a 404 Not Found can be issued instead. Upon receiving a 410 status code, the client should not request the resource again in the future. Clients such as search engines should remove the resource from their indexes.

cnHTTP_RESPONSE_411 =411;

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. The request did not specify the length of its content, which is required by the requested resource.

cnHTTP_RESPONSE_412 =412;

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. The server does not meet one of the preconditions that the requester put on the request.

cnHTTP_RESPONSE_413 =413;

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. The request is larger than the server is willing or able to process.

cnHTTP_RESPONSE_414 =414;

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. The URI provided was too long for the server to process.

cnHTTP_RESPONSE_415 =415;

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. The request did not specify any media types that the server or resource supports. For example the client specified that an image resource should be served as image/svg+xml, but the server cannot find a matching version of the image.

cnHTTP_RESPONSE_416 =416;

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. The client has asked for a portion of the file, but the server cannot supply that portion (for example, if the client asked for a part of the file that lies beyond the end of the file).

cnHTTP_RESPONSE_417 =417;

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. The server cannot meet the requirements of the Expect request-header field.

cnHTTP_RESPONSE_418 =418;

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. The HTCPCP server is a teapot. The responding entity MAY be short and stout. Defined by the April Fools' specification RFC 2324. See Hyper Text Coffee Pot Control Protocol for more information.

cnHTTP_RESPONSE_422 =422;

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. WebDAV related RFC 4918. The request was well-formed but was unable to be followed due to semantic errors.

cnHTTP_RESPONSE_423 =423;

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. WebDAV related RFC 4918. The resource that is being accessed is locked

cnHTTP_RESPONSE_424 =424;

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. WebDAV related RFC 4918. The request failed due to failure of a previous request (e.g. a PROPPATCH).

cnHTTP_RESPONSE_425 =425;

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. WebDAV related. Defined in drafts of WebDav Advanced Collections, but not present in "Web Distributed Authoring and Versioning (WebDAV) Ordered Collections Protocol" (RFC 3648 ). Defined in drafts of WebDav Advanced Collections, but not present in "Web Distributed Authoring and Versioning (WebDAV) Ordered Collections Protocol" (RFC 3648 ).

cnHTTP_RESPONSE_426 =426;

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. (RFC 2817) The client should switch to TLS/1.0.

cnHTTP_RESPONSE_449 =449;

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. A Microsoft extension. The request should be retried after doing the appropriate action.

cnHTTP_RESPONSE_500 =500;

5xx Server Error - The server failed to fulfill an apparently valid request. Response status codes beginning with the digit "5" indicate cases in which the server is aware that it has encountered an error or is otherwise incapable of performing the request. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and indicate whether it is a temporary or permanent condition. Likewise, user agents should display any included entity to the user. These response codes are applicable to any request method. A generic error message, given when no more specific message is suitable.

cnHTTP_RESPONSE_501 =501;

5xx Server Error - The server failed to fulfil an apparently valid request. Response status codes beginning with the digit "5" indicate cases in which the server is aware that it has encountered an error or is otherwise incapable of performing the request. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and indicate whether it is a temporary or permanent condition. Likewise, user agents should display any included entity to the user. These response codes are applicable to any request method. The server either does not recognise the request method, or it lacks the ability to fulfil the request.

cnHTTP_RESPONSE_502 =502;

5xx Server Error - The server failed to fulfil an apparently valid request. Response status codes beginning with the digit "5" indicate cases in which the server is aware that it has encountered an error or is otherwise incapable of performing the request. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and indicate whether it is a temporary or permanent condition. Likewise, user agents should display any included entity to the user. These response codes are applicable to any request method. The server was acting as a gateway or proxy and received an invalid response from the upstream server.

cnHTTP_RESPONSE_503 =503;

5xx Server Error - The server failed to fulfil an apparently valid request. Response status codes beginning with the digit "5" indicate cases in which the server is aware that it has encountered an error or is otherwise incapable of performing the request. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and indicate whether it is a temporary or permanent condition. Likewise, user agents should display any included entity to the user. These response codes are applicable to any request method. The server is currently unavailable (because it is overloaded or down for maintenance). Generally, this is a temporary state.

cnHTTP_RESPONSE_504 =504;

5xx Server Error - The server failed to fulfil an apparently valid request. Response status codes beginning with the digit "5" indicate cases in which the server is aware that it has encountered an error or is otherwise incapable of performing the request. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and indicate whether it is a temporary or permanent condition. Likewise, user agents should display any included entity to the user. These response codes are applicable to any request method. The server was acting as a gateway or proxy and did not receive a timely request from the upstream server.

cnHTTP_RESPONSE_505 =505;

5xx Server Error - The server failed to fulfil an apparently valid request. Response status codes beginning with the digit "5" indicate cases in which the server is aware that it has encountered an error or is otherwise incapable of performing the request. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and indicate whether it is a temporary or permanent condition. Likewise, user agents should display any included entity to the user. These response codes are applicable to any request method. The server does not support the HTTP protocol version used in the request.

cnHTTP_RESPONSE_506 =506;

5xx Server Error - The server failed to fulfil an apparently valid request. Response status codes beginning with the digit "5" indicate cases in which the server is aware that it has encountered an error or is otherwise incapable of performing the request. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and indicate whether it is a temporary or permanent condition. Likewise, user agents should display any included entity to the user. These response codes are applicable to any request method. (RFC 2295) Transparent content negotiation for the request, results in a circular reference.

cnHTTP_RESPONSE_507 =507;

5xx Server Error - The server failed to fulfil an apparently valid request. Response status codes beginning with the digit "5" indicate cases in which the server is aware that it has encountered an error or is otherwise incapable of performing the request. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and indicate whether it is a temporary or permanent condition. Likewise, user agents should display any included entity to the user. These response codes are applicable to any request method. WebDAV related (RFC 4918)

cnHTTP_RESPONSE_509 =509;

5xx Server Error - The server failed to fulfil an apparently valid request. Response status codes beginning with the digit "5" indicate cases in which the server is aware that it has encountered an error or is otherwise incapable of performing the request. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and indicate whether it is a temporary or permanent condition. Likewise, user agents should display any included entity to the user. These response codes are applicable to any request method. (Apache bw/limited extension) This status code, while used by many servers, is not specified in any RFCs.

cnHTTP_RESPONSE_510 =510;

5xx Server Error - The server failed to fulfil an apparently valid request. Response status codes beginning with the digit "5" indicate cases in which the server is aware that it has encountered an error or is otherwise incapable of performing the request. Except when responding to a HEAD request, the server should include an object containing an explanation of the error situation, and indicate whether it is a temporary or permanent condition. Likewise, user agents should display any included entity to the user. These response codes are applicable to any request method. (RFC 2774) Further extensions to the request are required for the server to fulfil it

cnInches=39.3701;
 
cnIOAppendMaxTries = 10;

# of times to attempt IO functions when there is a failure. Picture 50 programs slamming a given log file - this helps prevent most bumping because the writes are fast one liners of text USUALLY at least if used in a log file role.

cnJDType_b = 01;

Boolean - b

cnJDType_bin = 24;

Binary - Binary Large Object

cnJDType_ch = 17;

Char - ASCII ch

cnJDType_chu = 18;

Char - Unicode chu

cnJDType_cur = 16;

Currency

cnJDType_dt = 19;

DateTime dt

cnJDType_fd = 15;

Fixed Decimal Places

cnJDType_fp = 14;

Floating Point

cnJDType_i1 = 02;

Integer - 01 Byte i1

cnJDType_i16 = 06;

Integer - 16 Bytes i16

cnJDType_i2 = 03;

Integer - 02 Bytes i2

cnJDType_i32 = 07;

Integer - 32 Bytes i32

cnJDType_i4 = 04;

Integer - 04 Bytes i4

cnJDType_i8 = 05;

Integer - 08 Bytes i8

cnJDType_s = 20;

Text - ASCII

cnJDType_sn = 22;

Memo - ASCII

cnJDType_su = 21;

Text - Unicode

cnJDType_sun = 23;

Memo - Unicode

cnJDType_u1 = 08;

Integer - Unsigned - 01 Byte u1

cnJDType_u16 = 12;

Integer - Unsigned - 16 Bytes u16

cnJDType_u2 = 09;

Integer - Unsigned - 02 Bytes u2

cnJDType_u32 = 13;

Integer - Unsigned - 32 Bytes u32

cnJDType_u4 = 10;

Integer - Unsigned - 04 Bytes u4

cnJDType_u8 = 11;

Integer - Unsigned - 08 Bytes u8

cnJDType_Unknown = 00;

Unknown

cnJWidget_b = 20;

Jegas Widget Type - Boolean - Byte b - These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_bi1 = 21;

Jegas Widget Type - Boolean - Boolean Integer - 1 Byte - >Zero=true bi1 - These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_bin = 37;

Jegas Widget Type - Binary - Unspecified Length Binary Large Object - These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_ch = 18;

Jegas Widget Type - Char - One Byte ch - These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_chu = 19;

Jegas Widget Type - Char - Unicode chu - These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_cn = 32;

Jegas Widget Type - CODE - Constants - Numeric cn - These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_ComboBox = 104;
 
cnJWidget_Content = 107;
 
cnJWidget_cs = 33;

Jegas Widget Type - CODE - Constants - String cs - These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_cur = 15;

Jegas Widget Type - Currency - Base U.S. Dollars cur - These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_Dropdown = 100;

Widget Types that don't map ONE-TO-ONE With Jegas Data Types Note: These Types work properly in bIsJDType????? functions.

cnJWidget_dt = 23;

Jegas Widget Type - Timestamp dt - These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_Email = 103;
 
cnJWidget_fd = 14;

Jegas Widget Type - Floating Point - Fixed Decimal Places f?? - These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_fp = 13;

Jegas Widget Type - Floating Point - Largest Supported by Platform IEEE These are the defined Widget Types. - There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_i = 34;

Jegas Widget Type - CODE - Represents integer data type that is x bytes - where x=number of bytes wide for the specific platform - These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_i1 = 01;

Jegas Widget Type - Integer - 1 Byte i1 - These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_i16 = 05;

Jegas Widget Type - Integer - 16 Bytes i16 - These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_i2 = 02;

Jegas Widget Type - Integer - 2 Bytes i2 - These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_i32 = 06;

Jegas Widget Type - Integer - 32 Bytes i32 - These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_i4 = 03;

Jegas Widget Type - Integer - 4 Bytes i4 - These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_i8 = 04;

Jegas Widget Type - Integer - 8 Bytes i8 - These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_jdt = 22;

Jegas Widget Type - Jegas Timestamp jdt (Most likely will be freepascal tdatetime struct) - These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_Lookup = 101;
 
cnJWidget_LookupComboBox = 105;
 
cnJWidget_Phone = 106;
 
cnJWidget_s = 25;

Jegas Widget Type - String - Unspecified Max Length s - These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_sa = 31;

Jegas Widget Type - CODE FreePascal ANSISTRING sa - These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_sn = 27;

Jegas Widget Type - String - Ascii - Note/Glob/Memo sn - These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_su = 26;

Jegas Widget Type - String - Unicode - Unspecified Length su - These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_sun = 28;

Jegas Widget Type - String - Unicode - Note/Glob/Memo sun - These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_sux = 17;

Jegas Widget Type - String - Unicode - x=Max Length - These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_suz = 30;

Jegas Widget Type - String - Unicode - Null Terminated suz - These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_sx = 16;

Jegas Widget Type - String - Ascii - x=Fixed Max Length - These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_sz = 29;

Jegas Widget Type - String - ASCII - Null Terminated sz - These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_u = 35;

Jegas Widget Type - CODE - Represent unsigned data type that is x bytes - where x=number of bytes wide for the specific platform - These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_u1 = 07;

Jegas Widget Type - Integer - Unsigned - 1 - Byte u1 These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_u16 = 11;

Jegas Widget Type - Integer - Unsigned - 16 - Bytes u16 These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_u2 = 08;

Jegas Widget Type - Integer - Unsigned - 2 - Bytes u2 These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_u32 = 12;

Jegas Widget Type - Integer - Unsigned - 32 - Bytes u32 These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_u4 = 09;

Jegas Widget Type - Integer - Unsigned - 4 - Bytes u4 These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_u8 = 10;

Jegas Widget Type - Integer - Unsigned - 8 - Bytes u8 These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_ui4 = 24;

Jegas Widget Type - Unique Identifiers Integer Based - ui?-This is ui4 - These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_Unknown = 00;

Jegas Widget Type - Unknown - These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnJWidget_URL = 102;
 
cnJWidget_v = 36;

Jegas Widget Type - CODE - Represents a Variant Data Type (Freepascal) - These are the defined Widget Types. There is a one-to-one relationship for the Jegas Data Types - these one-to-one matches are effectively the DEFAULT widgets for said datatypes. However, as the system matures, Multiple Widgets will become available for specific datatypes. Example: Currently, 2007-02-01, the date/time datatypes have a HTML/JAVASCRIPT date control calendar with date selection via dropdown number lists or a calendar you can click the date on. For the time portion, this is only drop downs.

cnKilometers=0.001;
 
cnLANG_ALL = 0;

Used as the Ordinal value to use in ixx_jegas_macros.pp in the LANGUAGES_TO_INCLUDE define which determines what languages to compile into the binary. Either ALL or select a specific language.

cnLANG_ENGLISH = 1;

English Language Indicator - Default Language

cnLog_DEBUG =1;

LOGGING: Debug Severity

cnLog_ERROR =3;

LOGGING: Error

cnLog_FATAL =2;

LOGGING: Fatal

cnLog_INFO =5;

LOGGING: Informational

cnLog_NONE =0;

LOGGING: Default Logging Level

cnLog_REQUEST =6;

LOGGING: if grJASConfig.bLogToDatabase = true then all requests are logged in extreme detail.

cnLog_RESERVED =7;

LOGGING: Reserved Severity by JEGAS 6 thru 99

cnLog_USERDEFINED =100;

LOGGING: Reserved Severity for Users 100 thru 255

cnLog_WARN =4;

LOGGING: Warning

cnMaxDigitsFor01ByteUInt = 4 ;

Const cnMSAccessMaxString = 250;

cnMaxDigitsFor02ByteUInt = 6 ;
 
cnMaxDigitsFor04ByteUInt = 32 ;
 
cnMaxDigitsFor08ByteUInt = 64 ;
 
cnMaxDigitsFor16ByteUInt = 250 ;
 
cnMaxDigitsFor32ByteUInt = 1023 ;
 
cnMaxDigitsForCurtoText = 128 ;
 
cnMaxDigitsForDateToText = 50 ;
 
cnMaxDigitsForFDtoText = 128 ;
 
cnMaxDigitsForFPtoText = 128 ;
 
cnMeter =1.0;
 
cnMiles=0.00062;
 
cnMillimeters=1000.0;
 
cnMilliseconds=0.001;
 
cnMillisecondsPerHour=216000000;
 
cnMinutes=60;
 
cnMSAccessMaxString = 60;

All Figures are FACT + 1 for Positive/negative sign when applied to Signed Ints. If Not exact, Over Estimated for Safety.

cnOneMeterPerMilliSecond_Is_MilesPerHour=2236.93629;
 
cnSecond=1;
 
cnSecondsPerHour=216000;
 
cnSYS_INFO_MODE_SECURE=0;

This is related to JAS Server - for things like hiding or not hiding information from end users such as error messages that might reveal quite a bit of information about a system.

cnSYS_INFO_MODE_VERBOSE=2;

This is related to JAS Server - for things like hiding or not hiding information from end users such as error messages that might reveal quite a bit of information about a system.

cnSYS_INFO_MODE_VERBOSELOCAL=1;

This is related to JAS Server - for things like hiding or not hiding information from end users such as error messages that might reveal quite a bit of information about a system.

cnTIMEZONE_OFFSET = -5;

Default CONSTANT For TIME ZONE Difference in Hours FROM Greenwich Mean Time

cnUINTMax = 4294967295 ;

[10] indicates the returned index is not to be used. Its the maximum value a 32bit unsigned number can hold.

cnYards=1.09361;
 
cn_MaxEnvVariables = 200;

cn_MaxEnvVariables is a hardcoded value that gets compiled into the rtCGI structure and may be used in code. This value indicates the absolute maximum number of CGI environment variables can be processed by a requset.

cn_MaxEnvWarnThreshold = 150;

cn_MaxEnvWarnThreshold is a value always less than the value in cn_MaxEnvVariables. If the number of environment variables coming in a request meet or exceed this value, the software should respond in some way. At the time of writing this comment, code surrounding this constant dumps a line to a log file to give warning that this threshold value was met or eceeded.

csBACKSLASH='\';

A backward slash regardless of platform

csCGI_application_x_www_form_urlencoded= 'APPLICATION/X-WWW-FORM-URLENCODED';
 
csCGI_CONTENT_LENGTH = 'CONTENT_LENGTH';
 
csCGI_CONTENT_TYPE = 'CONTENT_TYPE';
 
csCGI_DOCUMENT_ROOT = 'DOCUMENT_ROOT';
 
csCGI_GET = 'GET';
 
csCGI_HTTP_ACCEPT = 'HTTP_ACCEPT';
 
csCGI_HTTP_ACCEPT_CHARSET = 'HTTP_ACCEPT_CHARSET';
 
csCGI_HTTP_ACCEPT_ENCODING = 'HTTP_ACCEPT_ENCODING';
 
csCGI_HTTP_ACCEPT_LANGUAGE = 'HTTP_ACCEPT_LANGUAGE';
 
csCGI_HTTP_CONNECTION = 'HTTP_CONNECTION';
 
csCGI_HTTP_COOKIE = 'HTTP_COOKIE';
 
csCGI_HTTP_HDR_VERSION = 'HTTP/1.1 ';

Part of the status header generated for HTTP. The server status value follws this. Example: HTTP/1.1 200 OK';

csCGI_HTTP_HOST = 'HTTP_HOST';
 
csCGI_HTTP_KEEPALIVE = 'HTTP_KEEPALIVE';

note: underscore not between keep and alive purposely.

csCGI_HTTP_REFERER = 'HTTP_REFERER';
 
csCGI_HTTP_USER_AGENT = 'HTTP_USER_AGENT';
 
csCGI_JEGAS = 'JEGAS';
 
csCGI_JEGAS_CGI_1_0_0='JAS-CGI 1.0.0';

specific for the JAS CGI Proxy tool

csCGI_PATH_INFO = 'PATH_INFO';
 
csCGI_POST = 'POST';
 
csCGI_QUERY_STRING = 'QUERY_STRING';
 
csCGI_REDIRECT_STATUS = 'REDIRECT_STATUS';
 
csCGI_REMOTE_ADDR = 'REMOTE_ADDR';
 
csCGI_REMOTE_PORT = 'REMOTE_PORT';
 
csCGI_REQUEST_METHOD = 'REQUEST_METHOD';
 
csCGI_REQUEST_URI = 'REQUEST_URI';
 
csCGI_SCRIPT_FILENAME = 'SCRIPT_FILENAME';
 
csCGI_SCRIPT_NAME = 'SCRIPT_NAME';
 
csCGI_SERVER_ADDR = 'SERVER_ADDR';
 
csCGI_SERVER_PORT = 'SERVER_PORT';
 
csCGI_SERVER_SOFTWARE = 'SERVER_SOFTWARE';
 
csCR=#13;

Carriage Return Constant

csCRLF=#13#10;

Carriage Return + Linefeed Constant

csDATEFORMAT='yyyy-mm-dd';

EXAMPLE: 2010-01-01, see FPC documentation for Date and time formatting characters

csDATETIMEFORMAT='yyyy-mm-dd tt';

EXAMPLE: 2010-01-01 11:00am - note though the exact TIME portion is determined by freepascal configuration, see FPC documentation for Date and time formatting characters

csDATETIMEFORMAT24='yyyy-mm-dd hh:nn:ss';

EXAMPLE: 2010-01-01 11:00:00 - note though the exact TIME portion is determined by freepascal configuration, see FPC documentation for Date and time formatting characters

csDBLQUOTE=#34;

Double Quote Constant

csEOL=#10;

POSIX EOL Character. FreePascal docs like this page http://community.freepascal.org:10000/docs-html/rtl/system/defaulttextlinebreakstyle.html suggest not using platform specific constructs, leave it to them is their sentiment but their way was problematic and using this works fine. NOTE: MAC I guess is only #13. Food for thought. Apple? Food? hahaha

csFWDSLASH='/';

A forward Slash regardless of platform - used primarily when building URLs and such

csHTMLRipperEnd='<!--HTMLRIPPER INSERT END-->';

HTMLRIPPER JFC_TOKENIZER End Quote definition

csHTMLRipperStart='<!--HTMLRIPPER INSERT BEGIN-->';

HTMLRIPPER JFC_TOKENIZER Start Quote definition

csHTTP_RESPONSE_100 ='100 Continue';

INFORMATIONAL HTTP Server Response Code: This means that the server has received the request headers, and that the client should proceed to send the request body (in the case of a request for which a body needs to be sent; for example, a POST request). If the request body is large, sending it to a server when a request has already been rejected based upon inappropriate headers is inefficient. To have a server check if the request could be accepted based on the request's headers alone, a client must send Expect: 100-continue as a header in its initial request (see RFC 2616 §14.20 – Expect header) and check if a 100 Continue status code is received in response before continuing (or receive 417 Expectation Failed and not continue).[2]

csHTTP_RESPONSE_101 ='101 Switching Protocols';

INFORMATIONAL HTTP Server Response Code: This means the requester has asked the server to switch protocols and the server is acknowledging that it will do so.[3]

csHTTP_RESPONSE_102 ='102 Processing';

INFORMATIONAL HTTP Server Response Code: WebDAV Related - RFC 2518

csHTTP_RESPONSE_200 ='200 OK';

2xx Success - The action was successfully received, understood, and accepted. Standard response for successful HTTP requests. The actual response will depend on the request method used. In a GET request, the response will contain an entity corresponding to the requested resource. In a POST request the response will contain an objectdescribing or containing the result of the action.

csHTTP_RESPONSE_201 ='201 Created';

2xx Success - The action was successfully received, understood, and accepted. The request has been fulfilled and resulted in a new resource being created.

csHTTP_RESPONSE_202 ='202 Accepted';

2xx Success - The action was successfully received, understood, and accepted. The request has been accepted for processing, but the processing has not been completed. The request might or might not eventually be acted upon, as it might be disallowed when processing actually takes place.

csHTTP_RESPONSE_203 ='203 Non-Authoritative Information';

(since HTTP/1.1) 2xx Success - The action was successfully received, understood, and accepted. The server successfully processed the request, but is returning information that may be from another source.

csHTTP_RESPONSE_204 ='204 No Content';

2xx Success - The action was successfully received, understood, and accepted. The server successfully processed the request, but is not returning any content.

csHTTP_RESPONSE_205 ='205 Reset Content';

2xx Success - The action was successfully received, understood, and accepted.

csHTTP_RESPONSE_206 ='206 Partial Content';

2xx Success - The action was successfully received, understood, and accepted. The server is delivering only part of the resource due to a range header sent by the client. This is used by tools like wget to enable resuming of interrupted downloads, or split a download into multiple simultaneous streams.

csHTTP_RESPONSE_207 ='207 Multi-Status';

2xx Success - The action was successfully received, understood, and accepted. WebDAV - The message body that follows is an XML message and can contain a number of separate response codes, depending on how many sub-requests were made.

csHTTP_RESPONSE_226 ='226 IM Used';

2xx Success - The action was successfully received, understood, and accepted. (NOT INSTANT MESSENGER RELATED!) The server lists the set of instance-manipulations it has applied.

csHTTP_RESPONSE_300 ='300 Multiple Choices';

3xx Redirection - The client must take additional action to complete the request. This class of status code indicates that further action needs to be taken by the user agent in order to fulfil the request. The action required may be carried out by the user agent without interaction with the user if and only if the method used in the second request is GET or HEAD. A user agent should not automatically redirect a request more than five times, since such redirections usually indicate an infinite loop. Indicates multiple options for the resource that the client may follow. It, for instance, could be used to present different format options for video, list files with different extensions, or word sense disambiguation.

csHTTP_RESPONSE_301 ='301 Moved Permanently';

3xx Redirection - The client must take additional action to complete the request. This class of status code indicates that further action needs to be taken by the user agent in order to fulfil the request. The action required may be carried out by the user agent without interaction with the user if and only if the method used in the second request is GET or HEAD. A user agent should not automatically redirect a request more than five times, since such redirections usually indicate an infinite loop. This and all future requests should be directed to the given URI.

csHTTP_RESPONSE_302 ='302 Found';

3xx Redirection - The client must take additional action to complete the request. This class of status code indicates that further action needs to be taken by the user agent in order to fulfil the request. The action required may be carried out by the user agent without interaction with the user if and only if the method used in the second request is GET or HEAD. A user agent should not automatically redirect a request more than five times, since such redirections usually indicate an infinite loop. This is the most popular redirect code[citation needed], but also an example of industrial practice contradicting the standard. HTTP/1.0 specification (RFC 1945 ) required the client to perform a temporary redirect (the original describing phrase was "Moved Temporarily"), but popular browsers implemented it as a 303 See Other. Therefore, HTTP/1.1 added status codes 303 and 307 to disambiguate between the two behaviours. However, the majority of Web applications and frameworks still use the 302 status code as if it were the 303.

csHTTP_RESPONSE_303 ='303 See Other';

(since HTTP/1.1) 3xx Redirection - The client must take additional action to complete the request. This class of status code indicates that further action needs to be taken by the user agent in order to fulfil the request. The action required may be carried out by the user agent without interaction with the user if and only if the method used in the second request is GET or HEAD. A user agent should not automatically redirect a request more than five times, since such redirections usually indicate an infinite loop. The response to the request can be found under another URI using a GET method. When received in response to a PUT, it should be assumed that the server has received the data and the redirect should be issued with a separate GET message.

csHTTP_RESPONSE_304 ='304 Not Modified';

3xx Redirection - The client must take additional action to complete the request. This class of status code indicates that further action needs to be taken by the user agent in order to fulfil the request. The action required may be carried out by the user agent without interaction with the user if and only if the method used in the second request is GET or HEAD. A user agent should not automatically redirect a request more than five times, since such redirections usually indicate an infinite loop. Indicates the resource has not been modified since last requested. Typically, the HTTP client provides a header like the If-Modified-Since header to provide a time against which to compare. Utilizing this saves bandwidth and reprocessing on both the server and client, as only the header data must be sent and received in comparison to the entirety of the page being re-processed by the server, then resent using more bandwidth of the server and client.

csHTTP_RESPONSE_305 ='305 Use Proxy';

(since HTTP/1.1) 3xx Redirection - The client must take additional action to complete the request. This class of status code indicates that further action needs to be taken by the user agent in order to fulfil the request. The action required may be carried out by the user agent without interaction with the user if and only if the method used in the second request is GET or HEAD. A user agent should not automatically redirect a request more than five times, since such redirections usually indicate an infinite loop. Many HTTP clients (such as Mozilla[4] and Internet Explorer) do not correctly handle responses with this status code, primarily for security reasons.

csHTTP_RESPONSE_306 ='306 Switch Proxy';

(No longer used.) 3xx Redirection - The client must take additional action to complete the request. This class of status code indicates that further action needs to be taken by the user agent in order to fulfil the request. The action required may be carried out by the user agent without interaction with the user if and only if the method used in the second request is GET or HEAD. A user agent should not automatically redirect a request more than five times, since such redirections usually indicate an infinite loop.

csHTTP_RESPONSE_307 ='307 Temporary Redirect';

(since HTTP/1.1) 3xx Redirection - The client must take additional action to complete the request. This class of status code indicates that further action needs to be taken by the user agent in order to fulfil the request. The action required may be carried out by the user agent without interaction with the user if and only if the method used in the second request is GET or HEAD. A user agent should not automatically redirect a request more than five times, since such redirections usually indicate an infinite loop. In this occasion, the request should be repeated with another URI, but future requests can still use the original URI. In contrast to 303, the request method should not be changed when reissuing the original request. For instance, a POST request must be repeated using another POST request.

csHTTP_RESPONSE_400 ='400 Bad Request';

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. The request contains bad syntax or cannot be fulfilled.

csHTTP_RESPONSE_401 ='401 Unauthorized';

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. Similar to 403 Forbidden, but specifically for use when authentication is possible but has failed or not yet been provided. The response must include a WWW-Authenticate header field containing a challenge applicable to the requested resource. See Basic access authentication and Digest access authentication.

csHTTP_RESPONSE_402 ='402 Payment Required';

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. The original intention was that this code might be used as part of some form of digital cash or micropayment scheme, but that has not happened, and this code has never been used.

csHTTP_RESPONSE_403 ='403 Forbidden';

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. The request was a legal request, but the server is refusing to respond to it. Unlike a 401 Unauthorized response, authenticating will make no difference.

csHTTP_RESPONSE_404 ='404 Not Found';

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. The requested resource could not be found but may be available again in the future. Subsequent requests by the client are permissible.

csHTTP_RESPONSE_405 ='405 Method Not Allowed';

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. A request was made of a resource using a request method not supported by that resource; for example, using GET on a form which requires data to be presented via POST, or using PUT on a read-only resource.

csHTTP_RESPONSE_406 ='406 Not Acceptable';

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. The requested resource is only capable of generating content not acceptable according to the Accept headers sent in the request.

csHTTP_RESPONSE_407 ='407 Proxy Authentication Required';

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online.

csHTTP_RESPONSE_408 ='408 Request Timeout';

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. The server timed out waiting for the request.

csHTTP_RESPONSE_409 ='409 Conflict';

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. Indicates that the request could not be processed because of conflict in the request, such as an edit conflict.

csHTTP_RESPONSE_410 ='410 Gone';

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. Indicates that the resource requested is no longer available and will not be available again. This should be used when a resource has been intentionally removed; however, it is not necessary to return this code and a 404 Not Found can be issued instead. Upon receiving a 410 status code, the client should not request the resource again in the future. Clients such as search engines should remove the resource from their indexes.

csHTTP_RESPONSE_411 ='411 Length Required';

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. The request did not specify the length of its content, which is required by the requested resource.

csHTTP_RESPONSE_412 ='412 Precondition Failed';

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. The server does not meet one of the preconditions that the requester put on the request.

csHTTP_RESPONSE_413 ='413 Request Entity Too Large';

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. The request is larger than the server is willing or able to process.

csHTTP_RESPONSE_414 ='414 Request-URI Too Long';

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. The URI provided was too long for the server to process.

csHTTP_RESPONSE_415 ='415 Unsupported Media Type';

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. The request did not specify any media types that the server or resource supports. For example the client specified that an image resource should be served as image/svg+xml, but the server cannot find a matching version of the image.

csHTTP_RESPONSE_416 ='416 Requested Range Not Satisfiable';

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. The client has asked for a portion of the file, but the server cannot supply that portion (for example, if the client asked for a part of the file that lies beyond the end of the file).

csHTTP_RESPONSE_417 ='417 Expectation Failed';

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. The server cannot meet the requirements of the Expect request-header field.

csHTTP_RESPONSE_418 ='418 I''m a teapot';

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. The HTCPCP server is a teapot. The responding entity MAY be short and stout. Defined by the April Fools' specification RFC 2324. See Hyper Text Coffee Pot Control Protocol for more information.

csHTTP_RESPONSE_422 ='422 Unprocessable Entity';

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. WebDAV related RFC 4918. The request was well-formed but was unable to be followed due to semantic errors.

csHTTP_RESPONSE_423 ='423 Locked';

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. WebDAV related RFC 4918. The resource that is being accessed is locked

csHTTP_RESPONSE_424 ='424 Failed Dependency';

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. WebDAV related RFC 4918. The request failed due to failure of a previous request (e.g. a PROPPATCH).

csHTTP_RESPONSE_425 ='425 Unordered Collection';

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. WebDAV related. Defined in drafts of WebDav Advanced Collections, but not present in "Web Distributed Authoring and Versioning (WebDAV) Ordered Collections Protocol" (RFC 3648 ). Defined in drafts of WebDav Advanced Collections, but not present in "Web Distributed Authoring and Versioning (WebDAV) Ordered Collections Protocol" (RFC 3648 ).

csHTTP_RESPONSE_426 ='426 Upgrade Required';

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. (RFC 2817 ) The client should switch to TLS/1.0.

csHTTP_RESPONSE_449 ='449 Retry With';

4xx Client Error - The request contains bad syntax or cannot be fulfilled. The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online. A Microsoft extension. The request should be retried after doing the appropriate action.

csHTTP_RESPONSE_500 ='500 Internal Server Error';

5xx Server Error - The server failed to fulfil an apparently valid request. Response status codes beginning with the digit "5" indicate cases in which the server is aware that it has encountered an error or is otherwise incapable of performing the request. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and indicate whether it is a temporary or permanent condition. Likewise, user agents should display any included entity to the user. These response codes are applicable to any request method. A generic error message, given when no more specific message is suitable.

csHTTP_RESPONSE_501 ='501 Not Implemented';

5xx Server Error - The server failed to fulfil an apparently valid request. Response status codes beginning with the digit "5" indicate cases in which the server is aware that it has encountered an error or is otherwise incapable of performing the request. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and indicate whether it is a temporary or permanent condition. Likewise, user agents should display any included entity to the user. These response codes are applicable to any request method. The server either does not recognise the request method, or it lacks the ability to fulfil the request.

csHTTP_RESPONSE_502 ='502 Bad Gateway';

5xx Server Error - The server failed to fulfil an apparently valid request. Response status codes beginning with the digit "5" indicate cases in which the server is aware that it has encountered an error or is otherwise incapable of performing the request. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and indicate whether it is a temporary or permanent condition. Likewise, user agents should display any included entity to the user. These response codes are applicable to any request method. The server was acting as a gateway or proxy and received an invalid response from the upstream server.

csHTTP_RESPONSE_503 ='503 Service Unavailable';

5xx Server Error - The server failed to fulfil an apparently valid request. Response status codes beginning with the digit "5" indicate cases in which the server is aware that it has encountered an error or is otherwise incapable of performing the request. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and indicate whether it is a temporary or permanent condition. Likewise, user agents should display any included entity to the user. These response codes are applicable to any request method. The server is currently unavailable (because it is overloaded or down for maintenance). Generally, this is a temporary state.

csHTTP_RESPONSE_504 ='504 Gateway Timeout';

5xx Server Error - The server failed to fulfil an apparently valid request. Response status codes beginning with the digit "5" indicate cases in which the server is aware that it has encountered an error or is otherwise incapable of performing the request. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and indicate whether it is a temporary or permanent condition. Likewise, user agents should display any included entity to the user. These response codes are applicable to any request method. The server was acting as a gateway or proxy and did not receive a timely request from the upstream server.

csHTTP_RESPONSE_505 ='505 HTTP Version Not Supported';

5xx Server Error - The server failed to fulfil an apparently valid request. Response status codes beginning with the digit "5" indicate cases in which the server is aware that it has encountered an error or is otherwise incapable of performing the request. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and indicate whether it is a temporary or permanent condition. Likewise, user agents should display any included entity to the user. These response codes are applicable to any request method. The server does not support the HTTP protocol version used in the request.

csHTTP_RESPONSE_506 ='506 Variant Also Negotiates';

5xx Server Error - The server failed to fulfil an apparently valid request. Response status codes beginning with the digit "5" indicate cases in which the server is aware that it has encountered an error or is otherwise incapable of performing the request. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and indicate whether it is a temporary or permanent condition. Likewise, user agents should display any included entity to the user. These response codes are applicable to any request method. (RFC 2295 ) Transparent content negotiation for the request, results in a circular reference.

csHTTP_RESPONSE_507 ='507 Insufficient Storage';

5xx Server Error - The server failed to fulfil an apparently valid request. Response status codes beginning with the digit "5" indicate cases in which the server is aware that it has encountered an error or is otherwise incapable of performing the request. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and indicate whether it is a temporary or permanent condition. Likewise, user agents should display any included entity to the user. These response codes are applicable to any request method. WebDAV related (RFC 4918)

csHTTP_RESPONSE_509 ='509 Bandwidth Limit Exceeded';

5xx Server Error - The server failed to fulfil an apparently valid request. Response status codes beginning with the digit "5" indicate cases in which the server is aware that it has encountered an error or is otherwise incapable of performing the request. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and indicate whether it is a temporary or permanent condition. Likewise, user agents should display any included entity to the user. These response codes are applicable to any request method. (Apache bw/limited extension) This status code, while used by many servers, is not specified in any RFCs.

csHTTP_RESPONSE_510 ='510 Not Extended';

5xx Server Error - The server failed to fulfil an apparently valid request. Response status codes beginning with the digit "5" indicate cases in which the server is aware that it has encountered an error or is otherwise incapable of performing the request. Except when responding to a HEAD request, the server should include an objectcontaining an explanation of the error situation, and indicate whether it is a temporary or permanent condition. Likewise, user agents should display any included entity to the user. These response codes are applicable to any request method. (RFC 2774 ) Further extensions to the request are required for the server to fulfil it

csINET_HDR_ACCEPT ='Accept: ';

"Accept: " - Note Trailing Space. TCP HyperText Protocol and related string constant.

csINET_HDR_ACCEPT_CHARSET ='Accept-Charset: ';

"Accept-Charset: " - Note Trailing Space. TCP HyperText Protocol and related string constant.

csINET_HDR_ACCEPT_ENCODING ='Accept-Encoding: ';

"Accept-Encoding: " - Note Trailing Space. TCP HyperText Protocol and related string constant.

csINET_HDR_ACCEPT_LANGUAGE ='Accept-Language: ';

"Accept-Language: " - Note Trailing Space. TCP HyperText Protocol and related string constant.

csINET_HDR_CACHE_CONTROL ='Cache-Control: ';

"Cache-Control: " - Note Trailing Space. TCP HyperText Protocol and related string constants.

csINET_HDR_CONNECTION ='Connection: ';

"Connection: " - Note Trailing Space. TCP HyperText Protocol and related string constants.

csINET_HDR_CONTENT_LENGTH ='Content-Length: ';

"Content-Length: " - Note Trailing Space. TCP HyperText Protocol and related string constant.

csINET_HDR_CONTENT_TYPE ='Content-Type: ';

"Content-Type: " - Note Trailing Space. TCP HyperText Protocol and related string constant.

csINET_HDR_COOKIE ='Cookie: ';

"Cookie: " - Note Trailing Space. TCP HyperText Protocol and related string constant.

csINET_HDR_HOST ='Host: ';

"Host: " - Note Trailing Space. TCP HyperText Protocol and related string constant.

csINET_HDR_JEGAS ='Jegas: ';

"Jegas: " - Note Trailing Space. TCP HyperText Protocol and related string constant. This particular constant is obviously created by Jegas. It's use is relevant to the nph-jas.cgi aka jegaS_cgi_thin_client3.pas application at the time this comment was written.

csINET_HDR_KEEPALIVE ='Keep-Alive: ';

"Keep-Alive: " - Note Trailing Space. TCP HyperText Protocol and related string constant.

csINET_HDR_LAST_MODIFIED ='Last-Modified: ';

"Last-Modified: " - Note Trailing Space. TCP HyperText Protocol and related string constants.

csINET_HDR_METHOD_GET ='GET';

"GET" - Note LACK OF Trailing Space. TCP HyperText Protocol and related string constant.

csINET_HDR_METHOD_POST ='POST';

"POST" - Note LACK OF Trailing Space. TCP HyperText Protocol and related string constant.

csINET_HDR_REFERER ='Referer: ';

"Referer: " - Note Trailing Space. TCP HyperText Protocol and related string constant.

csINET_HDR_SERVER ='Server: ';

"Server: " - Note Trailing Space. TCP HyperText Protocol and related string constant.

csINET_HDR_SETCOOKIE ='Set-Cookie: ';

"Set-Cookie: " - Server->Client - RFC 6265 HTTP State Management Mechanism April 2011

csINET_HDR_USER_AGENT ='User-Agent: ';

"User-Agent: " - Note Trailing Space. TCP HyperText Protocol and related string constant.

csINET_JAS_CGI_SOFTWARE ='Jegas CGI Application / Jegas, LLC Version 1.0 -en';

"Jegas CGI Application / Jegas, LLC Version 1.0 -en" - Note LACK OF Trailing Space. TCP HyperText Protocol and related string constant. This particular one is a hardcoded version value used when generating HTTP headers in CGI applications.

csINET_JAS_SERVER_SOFTWARE ='Jegas Application Server / Jegas, LLC -en';

"Jegas Application Server / Jegas, LLC Version 1.0 -en" - Note LACK OF Trailing Space. TCP HyperText Protocol and related string constant. This particular one is a hardcoded version value used when generating HTTP headers.

csJAS_CACHE_CONTROL = 'CACHE_CONTROL';

webserver internal reference

csLF=#10;

Linefeed Constant

csLOG_FILENAME_DEFAULT='jegaslog.csv';

LOGGING: Default file name for log files made with Jegas API

csMIME_AppForceDownload = 'application/force-download';
 
csMime_AudioMid= 'audio/midi';
 
csMime_AudioMidi= 'audio/midi';
 
csMime_AudioMPeg= 'audio/mpeg';
 
csMime_AudioWav= 'audio/x-wav';
 
csMime_ExecuteCGI= 'execute/cgi';
 
csMime_ExecuteEXE= 'execute/cgi';
 
csMIME_ExecuteJegas= 'execute/jegas';
 
csMime_ExecutePerl= 'execute/perl';
 
csMime_ExecutePHP= 'execute/php';
 
csMime_ImageBmp= 'image/bmp';
 
csMime_ImageGif = 'image/gif';
 
csMIME_ImageIcon = 'image/x-icon';
 
csMime_ImageJPeg = 'image/jpeg';
 
csMime_ImageJPG = 'image/jpeg';
 
csMIME_ImagePng = 'image/png';
 
csMime_Javascript = 'application/x-javascript';
 
csMime_PDF = 'application/pdf';
 
csMime_TextCSS = 'text/css';
 
csMIME_TextHtm = 'text/htm';
 
csMIME_TextHtml = 'text/html';
 
csMIME_TextPlain = 'text/plain';
 
csMime_TextRTF= 'text/rtf';
 
csMIME_TextWSDL = 'text/xml';
 
csMIME_TextXml = 'text/xml';
 
csSPACE = #32;

Space Constant

csTAB=#9;

TAB Constant

csTIMEFORMAT='tt';

default time format (as set by freepascal configuration, see FPC documentation for Date and time formatting characters

csTIMEFORMAT24='hh:nn:ss';

default time format (as set by freepascal configuration, see FPC documentation for Date and time formatting characters

csUIDFORMAT='YYYYMMDDhhmmsszzz';

used for generating left side of UID's. Normal Autonumber system used for right side.

csWEBDATETIMEFORMAT='ddd, dd mmm yyyy hh:nn:ss "GMT"';

EXAMPLE: "Thu, 01 Dec 2003 16:00:00 GMT"

cs_HEXVALUES = '0123456789ABCDEF';

used for manipulating and converting hexadecimal values.

PI = 3.14159265358979323846264338327950288419716939937510582097;

=============================================================================

READ_ONLY = 0;

possible value for freepascal's internal filemode variable.

READ_WRITE = 2;

possible value for freepascal's internal filemode variable.

Sys_E2BIG = 7;

Arg list too long

Sys_EACCES = 13;

Permission denied

Sys_EACCESS = 13;

Permission denied

Sys_EADDRINUSE= 98;

Address already in use

Sys_EADDRNOTAVAIL= 99;

Cannot assign requested address

Sys_EADV = 68;

Advertise error

Sys_EAFNOSUPPORT= 97;

Address family not supported by protocol

Sys_EAGAIN = 11;

Try again

Sys_EALREADY= 114;

Operation already in progress

Sys_EBADE = 52;

Invalid exchange

Sys_EBADF = 9;

Bad file number

Sys_EBADFD = 77;

File descriptor in bad state

Sys_EBADMSG = 74;

Not a data message

Sys_EBADR = 53;

Invalid request descriptor

Sys_EBADRQC = 56;

Invalid request code

Sys_EBADSLT = 57;

Invalid slot

Sys_EBFONT = 59;

Bad font file format

Sys_EBUSY = 16;

Device or resource busy

Sys_ECHILD = 10;

No child processes

Sys_ECHRNG = 44;

Channel number out of range

Sys_ECOMM = 70;

Communication error on send

Sys_ECONNABORTED= 103;

Software caused connection abort

Sys_ECONNREFUSED= 111;

Connection refused

Sys_ECONNRESET= 104;

Connection reset by peer

Sys_EDEADLK = 35;

Resource deadlock would occur

Sys_EDEADLOCK = 58;

File locking deadlock error

Sys_EDESTADDRREQ= 89;

Destination address required

Sys_EDOM = 33;

Math argument out of domain of func

Sys_EDOTDOT = 73;

RFS specific error

Sys_EDQUOT = 122;

Quota exceeded

Sys_EEXIST = 17;

File exists

Sys_EFAULT = 14;

Bad address

Sys_EFBIG = 27;

File too large

Sys_EHOSTDOWN= 112;

Host is down

Sys_EHOSTUNREACH= 113;

No route to host

Sys_EIDRM = 43;

Identifier removed

Sys_EILSEQ = 84;

Illegal byte sequence

Sys_EINPROGRESS= 115;

Operation now in progress

Sys_EINTR = 4;

Interrupted system call

Sys_EINVAL = 22;

Invalid argument

Sys_EIO = 5;

I/O error

Sys_EISCONN = 106;

Transport endpoint is already connected

Sys_EISDIR = 21;

Is a directory

Sys_EISNAM = 120;

Is a named type file

Sys_EL2HLT = 51;

Level 2 h a l t e d

Sys_EL2NSYNC= 45;

Level 2 not synchronized

Sys_EL3HLT = 46;

Level 3 h a l t e d

Sys_EL3RST = 47;

Level 3 reset

Sys_ELIBACC = 79;

Can not access a needed shared library

Sys_ELIBBAD = 80;

Accessing a corrupted shared library

Sys_ELIBEXEC= 83;

Cannot exec a shared library directly

Sys_ELIBMAX = 82;

Attempting to link in too many shared libraries

Sys_ELIBSCN = 81;

.lib section in a.out corrupted

Sys_ELNRNG = 48;

Link number out of range

Sys_ELOOP = 40;

Too many symbolic links encountered

Sys_EMFILE = 24;

Too many open files

Sys_EMLINK = 31;

Too many links

Sys_EMSGSIZE= 90;

Message too long

Sys_EMULTIHOP= 72;

Multihop attempted

Sys_ENAMETOOLONG= 36;

File name too long

Sys_ENAVAIL = 119;

No XENIX semaphores available

Sys_ENETDOWN= 100;

Network is down

Sys_ENETRESET= 102;

Network dropped connection because of reset

Sys_ENETUNREACH= 101;

Network is unreachable

Sys_ENFILE = 23;

File table overflow

Sys_ENOANO = 55;

No anode

Sys_ENOBUFS = 105;

No buffer space available

Sys_ENOCSI = 50;

No CSI structure available

Sys_ENODATA = 61;

No data available

Sys_ENODEV = 19;

No such device

Sys_ENOENT = 2;

No such file or directory

Sys_ENOEXEC = 8;

Exec format error

Sys_ENOLCK = 37;

No record locks available

Sys_ENOLINK = 67;

Link has been severed

Sys_ENOMEM = 12;

Out of memory

Sys_ENOMSG = 42;

No message of desired type

Sys_ENONET = 64;

Machine is not on the network

Sys_ENOPKG = 65;

Package not installed

Sys_ENOPROTOOPT= 92;

Protocol not available

Sys_ENOSPC = 28;

No space left on device

Sys_ENOSR = 63;

Out of streams resources

Sys_ENOSTR = 60;

Device not a stream

Sys_ENOSYS = 38;

Function not implemented

Sys_ENOTBLK = 15;

Block device required, NOT POSIX!

Sys_ENOTCONN= 107;

Transport endpoint is not connected

Sys_ENOTDIR = 20;

Not a directory

Sys_ENOTEMPTY= 39;

Directory not empty

Sys_ENOTNAM = 118;

Not a XENIX named type file

Sys_ENOTSOCK= 88;

Socket operation on non-socket

Sys_ENOTTY = 25;

Not a typewriter

Sys_ENOTUNIQ= 76;

Name not unique on network

Sys_ENXIO = 6;

No such device or address

Sys_EOPNOTSUPP= 95;

Operation not supported on transport endpoint

Sys_EOVERFLOW= 75;

Value too large for defined data type

Sys_EPERM = 1;

Operation not permitted

Sys_EPFNOSUPPORT= 96;

Protocol family not supported

Sys_EPIPE = 32;

Broken pipe

Sys_EPROTO = 71;

Protocol error

Sys_EPROTONOSUPPORT= 93;

Protocol not supported

Sys_EPROTOTYPE= 91;

Protocol wrong type for socket

Sys_ERANGE = 34;

Math result not representable

Sys_EREMCHG = 78;

Remote address changed

Sys_EREMOTE = 66;

Object is remote

Sys_EREMOTEIO= 121;

Remote I/O error

Sys_ERESTART= 85;

Interrupted system call should be restarted

Sys_EROFS = 30;

Read-only file system

Sys_ESHUTDOWN= 108;

Cannot send after transport endpoint shutdown

Sys_ESOCKTNOSUPPORT= 94;

Socket type not supported

Sys_ESPIPE = 29;

Illegal seek

Sys_ESRCH = 3;

No such process

Sys_ESRMNT = 69;

Srmount error

Sys_ESTALE = 116;

Stale NFS file handle

Sys_ESTRPIPE= 86;

Streams pipe error

Sys_ETIME = 62;

Timer expired

Sys_ETIMEDOUT= 110;

Connection timed out

Sys_ETOOMANYREFS= 109;

Too many references: cannot splice

Sys_ETXTBSY = 26;

Text file busy. The new process was a pure procedure (shared text) file which was open for writing by another process, or file which was open for writing by another process, or while the pure procedure file was being executed an open(2) call requested write access requested write access.

Sys_EUCLEAN = 117;

Structure needs cleaning

Sys_EUNATCH = 49;

Protocol driver not attached

Sys_EUSERS = 87;

Too many users

Sys_EWOULDBLOCK = Sys_EAGAIN;

Operation would block

Sys_EXDEV = 18;

Cross-device link

Sys_EXFULL = 54;

Exchange full

WRITE_ONLY = 1;

possible value for freepascal's internal filemode variable.

Variables

UINTMAX: UInt64;

This variable is for the maximum value of the native unsigned integer value the machine is designed for. This is referred to as the ENDIAN. 32 bit is one common one, as is 64. SO... rather than use the constant all over which gets compiled into EXE and subsequently ram all over, a variable is a way to get the same results with less waste. The speed is the same but suffers, like all memory operations, on whether the data being moved is aligned in memory or not, what kind of data, read ahead cache invalidations, etc.

JegasAPI - www.jegas.com
Generated by PasDoc 0.14.0.