2
0

xresource.pp 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  1. {$IFNDEF FPC_DOTTEDUNITS}
  2. unit xresource; {$DEFINE MACRO}
  3. {$ENDIF FPC_DOTTEDUNITS}
  4. interface
  5. {$IFDEF FPC_DOTTEDUNITS}
  6. uses
  7. Api.X11.X,Api.X11.Xlib {$IFDEF MACROS}, System.Strings{$ENDIF};
  8. {$ELSE FPC_DOTTEDUNITS}
  9. uses
  10. x,xlib {$IFDEF MACROS}, strings{$ENDIF};
  11. {$ENDIF FPC_DOTTEDUNITS}
  12. {$ifndef os2}
  13. {$LinkLib c}
  14. {$LinkLib X11}
  15. const
  16. libX11='X11';
  17. {$else}
  18. const
  19. libX11='X11';
  20. {$endif}
  21. {
  22. Automatically converted by H2Pas 0.99.15 from xresource.h
  23. The following command line parameters were used:
  24. -p
  25. -T
  26. -S
  27. -d
  28. -c
  29. xresource.h
  30. }
  31. {$PACKRECORDS C}
  32. function Xpermalloc(para1:dword):PAnsiChar;cdecl;external libX11;
  33. type
  34. PXrmQuark = ^TXrmQuark;
  35. TXrmQuark = longint;
  36. TXrmQuarkList = PXrmQuark;
  37. PXrmQuarkList = ^TXrmQuarkList;
  38. function NULLQUARK : TXrmQuark;
  39. type
  40. PXrmString = ^TXrmString;
  41. TXrmString = ^AnsiChar;
  42. function NULLSTRING : TXrmString;
  43. function XrmStringToQuark(para1:PAnsiChar):TXrmQuark;cdecl;external libX11;
  44. function XrmPermStringToQuark(para1:PAnsiChar):TXrmQuark;cdecl;external libX11;
  45. function XrmQuarkToString(para1:TXrmQuark):TXrmString;cdecl;external libX11;
  46. function XrmUniqueQuark:TXrmQuark;cdecl;external libX11;
  47. {$ifdef MACROS}
  48. function XrmStringsEqual(a1,a2 : PAnsiChar) : boolean;
  49. {$endif MACROS}
  50. type
  51. PXrmBinding = ^TXrmBinding;
  52. TXrmBinding = (XrmBindTightly,XrmBindLoosely);
  53. TXrmBindingList = PXrmBinding;
  54. PXrmBindingList = ^TXrmBindingList;
  55. procedure XrmStringToQuarkList(para1:PAnsiChar; para2:TXrmQuarkList);cdecl;external libX11;
  56. procedure XrmStringToBindingQuarkList(para1:PAnsiChar; para2:TXrmBindingList; para3:TXrmQuarkList);cdecl;external libX11;
  57. type
  58. PXrmName = ^TXrmName;
  59. TXrmName = TXrmQuark;
  60. PXrmNameList = ^TXrmNameList;
  61. TXrmNameList = TXrmQuarkList;
  62. {$ifdef MACROS}
  63. function XrmNameToString(name : longint) : TXrmString;
  64. function XrmStringToName(_string : PAnsiChar) : longint;
  65. procedure XrmStringToNameList(str:PAnsiChar; name : PXrmQuark);
  66. {$endif MACROS}
  67. type
  68. PXrmClass = ^TXrmClass;
  69. TXrmClass = TXrmQuark;
  70. PXrmClassList = ^TXrmClassList;
  71. TXrmClassList = TXrmQuarkList;
  72. {$ifdef MACROS}
  73. function XrmClassToString(c_class : longint) : TXrmString;
  74. function XrmStringToClass(c_class : PAnsiChar) : longint;
  75. procedure XrmStringToClassList(str:PAnsiChar; c_class : PXrmQuark);
  76. {$endif MACROS}
  77. type
  78. PXrmRepresentation = ^TXrmRepresentation;
  79. TXrmRepresentation = TXrmQuark;
  80. {$ifdef MACROS}
  81. function XrmStringToRepresentation(_string : PAnsiChar) : longint;
  82. function XrmRepresentationToString(_type : longint) : TXrmString;
  83. {$endif MACROS}
  84. type
  85. PXrmValue = ^TXrmValue;
  86. TXrmValue = record
  87. size : dword;
  88. addr : TXPointer;
  89. end;
  90. TXrmValuePtr = PXrmValue;
  91. PXrmValuePtr = ^TXrmValuePtr;
  92. PXrmHashBucketRec = ^TXrmHashBucketRec;
  93. TXrmHashBucketRec = record
  94. end;
  95. TXrmHashBucket = PXrmHashBucketRec;
  96. PXrmHashBucket = ^TXrmHashBucket;
  97. PXrmHashTable = ^TXrmHashTable;
  98. TXrmHashTable = ^TXrmHashBucket;
  99. TXrmDatabase = PXrmHashBucketRec;
  100. PXrmDatabase = ^TXrmDatabase;
  101. procedure XrmDestroyDatabase(para1:TXrmDatabase);cdecl;external libX11;
  102. procedure XrmQPutResource(para1:PXrmDatabase; para2:TXrmBindingList; para3:TXrmQuarkList; para4:TXrmRepresentation; para5:PXrmValue);cdecl;external libX11;
  103. procedure XrmPutResource(para1:PXrmDatabase; para2:PAnsiChar; para3:PAnsiChar; para4:PXrmValue);cdecl;external libX11;
  104. procedure XrmQPutStringResource(para1:PXrmDatabase; para2:TXrmBindingList; para3:TXrmQuarkList; para4:PAnsiChar);cdecl;external libX11;
  105. procedure XrmPutStringResource(para1:PXrmDatabase; para2:PAnsiChar; para3:PAnsiChar);cdecl;external libX11;
  106. procedure XrmPutLineResource(para1:PXrmDatabase; para2:PAnsiChar);cdecl;external libX11;
  107. function XrmQGetResource(para1:TXrmDatabase; para2:TXrmNameList; para3:TXrmClassList; para4:PXrmRepresentation; para5:PXrmValue):TBool;cdecl;external libX11;
  108. function XrmGetResource(para1:TXrmDatabase; para2:PAnsiChar; para3:PAnsiChar; para4:PPAnsiChar; para5:PXrmValue):TBool;cdecl;external libX11;
  109. { There is no definition of TXrmSearchList }
  110. {function XrmQGetSearchList(para1:TXrmDatabase; para2:TXrmNameList; para3:TXrmClassList; para4:TXrmSearchList; para5:longint):TBool;cdecl;external libX11;
  111. function XrmQGetSearchResource(para1:TXrmSearchList; para2:TXrmName; para3:TXrmClass; para4:PXrmRepresentation; para5:PXrmValue):TBool;cdecl;external libX11;}
  112. procedure XrmSetDatabase(para1:PDisplay; para2:TXrmDatabase);cdecl;external libX11;
  113. function XrmGetDatabase(para1:PDisplay):TXrmDatabase;cdecl;external libX11;
  114. function XrmGetFileDatabase(para1:PAnsiChar):TXrmDatabase;cdecl;external libX11;
  115. function XrmCombineFileDatabase(para1:PAnsiChar; para2:PXrmDatabase; para3:TBool):TStatus;cdecl;external libX11;
  116. function XrmGetStringDatabase(para1:PAnsiChar):TXrmDatabase;cdecl;external libX11;
  117. procedure XrmPutFileDatabase(para1:TXrmDatabase; para2:PAnsiChar);cdecl;external libX11;
  118. procedure XrmMergeDatabases(para1:TXrmDatabase; para2:PXrmDatabase);cdecl;external libX11;
  119. procedure XrmCombineDatabase(para1:TXrmDatabase; para2:PXrmDatabase; para3:TBool);cdecl;external libX11;
  120. const
  121. XrmEnumAllLevels = 0;
  122. XrmEnumOneLevel = 1;
  123. type
  124. funcbool=function :TBool;
  125. function XrmEnumerateDatabase(para1:TXrmDatabase; para2:TXrmNameList; para3:TXrmClassList; para4:longint; para5:funcbool;
  126. para6:TXPointer):TBool;cdecl;external libX11;
  127. function XrmLocaleOfDatabase(para1:TXrmDatabase):PAnsiChar;cdecl;external libX11;
  128. type
  129. PXrmOptionKind = ^TXrmOptionKind;
  130. TXrmOptionKind = (XrmoptionNoArg,XrmoptionIsArg,XrmoptionStickyArg,
  131. XrmoptionSepArg,XrmoptionResArg,XrmoptionSkipArg,
  132. XrmoptionSkipLine,XrmoptionSkipNArgs);
  133. PXrmOptionDescRec = ^TXrmOptionDescRec;
  134. TXrmOptionDescRec = record
  135. option : PAnsiChar;
  136. specifier : PAnsiChar;
  137. argKind : TXrmOptionKind;
  138. value : TXPointer;
  139. end;
  140. TXrmOptionDescList = PXrmOptionDescRec;
  141. PXrmOptionDescList = ^TXrmOptionDescList;
  142. procedure XrmParseCommand(para1:PXrmDatabase; para2:TXrmOptionDescList; para3:longint; para4:PAnsiChar; para5:Plongint;
  143. para6:PPAnsiChar);cdecl;external libX11;
  144. implementation
  145. function NULLQUARK : TXrmQuark;
  146. begin
  147. NULLQUARK:=TXrmQuark(0);
  148. end;
  149. function NULLSTRING : TXrmString;
  150. begin
  151. NULLSTRING:=TXrmString(0);
  152. end;
  153. {$ifdef MACROS}
  154. function XrmStringsEqual(a1,a2 : PAnsiChar) : boolean;
  155. begin
  156. XrmStringsEqual:=(strcomp(a1,a2)) = 0;
  157. end;
  158. function XrmNameToString(name : longint) : TXrmString;
  159. begin
  160. XrmNameToString:=XrmQuarkToString(name);
  161. end;
  162. function XrmStringToName(_string : PAnsiChar) : longint;
  163. begin
  164. XrmStringToName:=XrmStringToQuark(_string);
  165. end;
  166. procedure XrmStringToNameList(str:PAnsiChar; name : PXrmQuark);
  167. begin
  168. XrmStringToQuarkList(str,name);
  169. end;
  170. function XrmClassToString(c_class : longint) : TXrmString;
  171. begin
  172. XrmClassToString:=XrmQuarkToString(c_class);
  173. end;
  174. function XrmStringToClass(c_class : PAnsiChar) : longint;
  175. begin
  176. XrmStringToClass:=XrmStringToQuark(c_class);
  177. end;
  178. procedure XrmStringToClassList(str:PAnsiChar; c_class : PXrmQuark);
  179. begin
  180. XrmStringToQuarkList(str,c_class);
  181. end;
  182. function XrmStringToRepresentation(_string : PAnsiChar) : longint;
  183. begin
  184. XrmStringToRepresentation:=XrmStringToQuark(_string);
  185. end;
  186. function XrmRepresentationToString(_type : longint) : TXrmString;
  187. begin
  188. XrmRepresentationToString:=XrmQuarkToString(_type);
  189. end;
  190. {$endif MACROS}
  191. end.