home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Internet 2000 May / MICD_2000_05.iso / CBuilder5 / INSTALL / DATA1.CAB / Program_Built_Files / Include / Vcl / nsapi.hpp < prev    next >
C/C++ Source or Header  |  2000-02-01  |  34KB  |  1,007 lines

  1. // Borland C++ Builder
  2. // Copyright (c) 1995, 1999 by Borland International
  3. // All rights reserved
  4.  
  5. // (DO NOT EDIT: machine generated header) 'NSApi.pas' rev: 5.00
  6.  
  7. #ifndef NSApiHPP
  8. #define NSApiHPP
  9.  
  10. #pragma delphiheader begin
  11. #pragma option push -w-
  12. #pragma option push -Vx
  13. #include <WinSock.hpp>    // Pascal unit
  14. #include <Windows.hpp>    // Pascal unit
  15. #include <SysInit.hpp>    // Pascal unit
  16. #include <System.hpp>    // Pascal unit
  17.  
  18. //-- user supplied -----------------------------------------------------------
  19. namespace Nsapi
  20. {
  21.     struct TSession;
  22.     char *servact_translate_uri(char *uri, TSession *sn);
  23. }
  24.  
  25. namespace Nsapi
  26. {
  27. //-- type declarations -------------------------------------------------------
  28. typedef void *PASSWD;
  29.  
  30. typedef void * *PPASSWD;
  31.  
  32. typedef char *TCAddr;
  33.  
  34. typedef char *caddr_t;
  35.  
  36. typedef void __cdecl (*TAtRestart)(void * Data);
  37.  
  38. typedef void __cdecl (*TMagnusAtRestart)(void * Data);
  39.  
  40. typedef void __cdecl (*TDaemonAtRestart)(void * Data);
  41.  
  42. typedef void *pool_handle_t;
  43.  
  44. typedef void *TPoolHandle;
  45.  
  46. typedef void * *PPoolHandle;
  47.  
  48. typedef unsigned Semaphore;
  49.  
  50. typedef void *CRITICAL;
  51.  
  52. typedef void *CONDVAR;
  53.  
  54. struct TFile
  55. {
  56.     unsigned fh;
  57.     char *fname;
  58.     unsigned flsem;
  59. } ;
  60.  
  61. typedef TFile *SYS_FILE;
  62.  
  63. typedef TFile  file_s;
  64.  
  65. typedef unsigned pid_t;
  66.  
  67. typedef unsigned TPid;
  68.  
  69. struct TStat;
  70. typedef TStat *PStat;
  71.  
  72. struct TStat
  73. {
  74.     Word st_dev;
  75.     Word st_ino;
  76.     Word st_mode;
  77.     short st_nlink;
  78.     short st_uid;
  79.     short st_gid;
  80.     Word st_rdev;
  81.     int st_size;
  82.     int st_atime;
  83.     int st_mtime;
  84.     int st_ctime;
  85. } ;
  86.  
  87. typedef TStat  Stat;
  88.  
  89. #pragma pack(push, 1)
  90. struct TDirEnt
  91. {
  92.     char *d_name;
  93. } ;
  94. #pragma pack(pop)
  95.  
  96. typedef TDirEnt *PDirEnt;
  97.  
  98. typedef TDirEnt  dirent_s;
  99.  
  100. struct TDir;
  101. typedef TDir *PDir;
  102.  
  103. struct TDir
  104. {
  105.     unsigned dp;
  106.     _WIN32_FIND_DATAA fdata;
  107.     TDirEnt de;
  108. } ;
  109.  
  110. typedef TDir  dir_s;
  111.  
  112. typedef TDir *SYS_DIR;
  113.  
  114. typedef TDir  SYS_DIRENT;
  115.  
  116. struct tm
  117. {
  118.     int tm_sec;
  119.     int tm_min;
  120.     int tm_hour;
  121.     int tm_mday;
  122.     int tm_mon;
  123.     int tm_year;
  124.     int tm_wday;
  125.     int tm_yday;
  126.     int tm_isdst;
  127. } ;
  128.  
  129. typedef tm *ptm;
  130.  
  131. struct TPbParam
  132. {
  133.     char *name;
  134.     char *value;
  135. } ;
  136.  
  137. typedef TPbParam *PPbParam;
  138.  
  139. typedef TPbParam  pb_param;
  140.  
  141. struct TPbEntry;
  142. typedef TPbEntry *PPbEntry;
  143.  
  144. struct TPbEntry
  145. {
  146.     TPbParam *param;
  147.     TPbEntry *next;
  148. } ;
  149.  
  150. typedef TPbEntry  pb_entry;
  151.  
  152. typedef PPbEntry *PPPbEntry;
  153.  
  154. struct TPblock;
  155. typedef TPblock *PPblock;
  156.  
  157. struct TPblock
  158. {
  159.     int hsize;
  160.     PPbEntry *ht;
  161. } ;
  162.  
  163. typedef TPblock  pblock;
  164.  
  165. typedef char *TPCharArray[134217727];
  166.  
  167. typedef char * *PPCharArray;
  168.  
  169. typedef int SYS_NETFD;
  170.  
  171. struct TFileBuffer
  172. {
  173.     TFile *fd;
  174.     unsigned fdmap;
  175.     char *fp;
  176.     int len;
  177.     char *inbuf;
  178.     int cursize;
  179.     int pos;
  180.     char *errmsg;
  181. } ;
  182.  
  183. typedef TFileBuffer *PFileBuffer;
  184.  
  185. typedef TFileBuffer  filebuffer;
  186.  
  187. typedef TFileBuffer  filebuf;
  188.  
  189. struct TNetBuf;
  190. typedef TNetBuf *PNetBuf;
  191.  
  192. struct TNetBuf
  193. {
  194.     int sd;
  195.     int pos;
  196.     int cursize;
  197.     int maxsize;
  198.     int rdtimeout;
  199.     char address[64];
  200.     char *inbuf;
  201.     char *errmsg;
  202. } ;
  203.  
  204. typedef TNetBuf  netbuf;
  205.  
  206. struct TSession;
  207. typedef TSession *PSession;
  208.  
  209. struct TSession
  210. {
  211.     TPblock *client;
  212.     int csd;
  213.     TNetBuf *inbuf;
  214.     int csd_open;
  215.     in_addr iaddr;
  216.     void * *pool;
  217.     void *clauth;
  218. } ;
  219.  
  220. typedef TSession  Session;
  221.  
  222. struct TCInfo
  223. {
  224.     char *ctype;
  225.     char *encoding;
  226.     char *language;
  227. } ;
  228.  
  229. typedef TCInfo *PCInfo;
  230.  
  231. typedef TCInfo  cinfo;
  232.  
  233. struct TShMem
  234. {
  235.     void *data;
  236.     unsigned fdmap;
  237.     int size;
  238.     char *name;
  239.     TFile *fd;
  240. } ;
  241.  
  242. typedef TShMem *PShMem;
  243.  
  244. typedef TShMem  shmem_s;
  245.  
  246. typedef void *SYS_THREAD;
  247.  
  248. typedef void __cdecl (*TSysThreadFunc)(void * Arg);
  249.  
  250. struct TMultipleDomains
  251. {
  252.     char *address;
  253.     char *docroot;
  254.     int sd;
  255.     int threads;
  256.     int AddressNumber;
  257. } ;
  258.  
  259. typedef TMultipleDomains *PMultipleDomains;
  260.  
  261. typedef TMultipleDomains  multiple_domains;
  262.  
  263. typedef void __cdecl (*TChildCallback)(PSession sn);
  264.  
  265. typedef void __cdecl (*TRotateCallback)(void);
  266.  
  267. typedef void __cdecl (*TRCBack)(int Param);
  268.  
  269. struct TDaemon
  270. {
  271.     char *ipstr;
  272.     int port;
  273.     TChildCallback child_callback;
  274.     TRotateCallback rotate_callback;
  275.     char *servid;
  276.     TMultipleDomains *domains;
  277.     TRCBack rcback;
  278.     int maxprocs;
  279.     int minprocs;
  280.     int proclife;
  281.     int maxthreads;
  282.     int minthreads;
  283. } ;
  284.  
  285. typedef TDaemon *PDaemon;
  286.  
  287. typedef TDaemon  daemon_s;
  288.  
  289. struct TDirective
  290. {
  291.     TPblock *param;
  292.     TPblock *client;
  293. } ;
  294.  
  295. typedef TDirective *PDirective;
  296.  
  297. typedef TDirective  directive;
  298.  
  299. struct TDtable
  300. {
  301.     int ni;
  302.     TDirective *inst;
  303. } ;
  304.  
  305. typedef TDtable *PDtable;
  306.  
  307. typedef TDtable  dtable;
  308.  
  309. struct THttpdObject
  310. {
  311.     TPblock *name;
  312.     int nd;
  313.     TDtable *dt;
  314. } ;
  315.  
  316. typedef THttpdObject *PHttpdObject;
  317.  
  318. typedef THttpdObject  httpd_object;
  319.  
  320. struct THttpdObjSet;
  321. typedef THttpdObjSet *PHttpdObjSet;
  322.  
  323. struct THttpdObjSet
  324. {
  325.     int pos;
  326.     PHttpdObject *obj;
  327.     PPblock *initfns;
  328. } ;
  329.  
  330. typedef THttpdObjSet  httpd_objset;
  331.  
  332. struct TConfGlobalVars
  333. {
  334.     int Vport;
  335.     char *Vaddr;
  336.     void * *Vuserpw;
  337.     char *Vchr;
  338.     char *Vpidfn;
  339.     int Vpool_max;
  340.     int Vpool_min;
  341.     int Vpool_life;
  342.     int Vpool_maxthreads;
  343.     int Vpool_minthreads;
  344.     char *Vserver_hostname;
  345.     char *Vroot_object;
  346.     THttpdObjSet *Vstd_os;
  347.     void *Vacl_root;
  348.     char *Vmaster_error_log;
  349.     char *Vserver_root;
  350.     char *Vserver_id;
  351. } ;
  352.  
  353. typedef TConfGlobalVars *PConfGlobalVars;
  354.  
  355. typedef TConfGlobalVars  conf_global_vars_s;
  356.  
  357. struct TRequest;
  358. typedef TRequest *PRequest;
  359.  
  360. struct TRequest
  361. {
  362.     TPblock *vars;
  363.     TPblock *reqpb;
  364.     int loadhdrs;
  365.     TPblock *headers;
  366.     int senthdrs;
  367.     TPblock *srvhdrs;
  368.     THttpdObjSet *os;
  369.     THttpdObjSet *tmpos;
  370.     char *statpath;
  371.     char *staterr;
  372.     TStat *finfo;
  373.     int aclstate;
  374.     int acldirno;
  375.     char *aclname;
  376.     TPblock *aclpb;
  377.     BOOL request_is_cacheable;
  378.     BOOL directive_is_cacheable;
  379.     char *cached_headers;
  380.     int cached_headers_len;
  381.     char *cached_date_header;
  382. } ;
  383.  
  384. typedef TRequest  Request;
  385.  
  386. typedef int __cdecl (*TFunction)(PPblock pb, PSession sn, PRequest rq);
  387.  
  388. struct TFuncStruct;
  389. typedef TFuncStruct *PFuncStruct;
  390.  
  391. struct TFuncStruct
  392. {
  393.     char *name;
  394.     TFunction func;
  395.     TFuncStruct *next;
  396. } ;
  397.  
  398. //-- var, const, procedure ---------------------------------------------------
  399. #define PROXY_VERSION_DEF "2.0b4"
  400. #define PROXY_VERSION_STRING "Netscape-Proxy/2.0b4"
  401. #define ADMSERV_VERSION_DEF "2.0"
  402. #define ADMSERV_VERSION_STRING "Netscape-Administrator/2.0"
  403. #define PERSONAL_VERSION_DEF "2.0b4"
  404. #define PERSONAL_VERSION_STRING "Netscape-FastTrack/2.0b4"
  405. #define CATALOG_VERSION_DEF "1.0b2"
  406. #define CATALOG_VERSION_STRING "Netscape-Catalog/1.0b2"
  407. #define RDS_VERSION_DEF "1.0b2"
  408. #define RDS_VERSION_STRING "Netscape-RDS/1.0b2"
  409. #define ENTERPRISE_VERSION_DEF "2.0b4"
  410. #define ENTERPRISE_VERSION_STRING "Netscape-Enterprise/2.0b4"
  411. #define NEWS_VERSION_STRING "Netscape 1.1"
  412. #define BATMAN_VERSION_DEF "1.0a1"
  413. #define BATMAN_VERSION_STRING "Batman/1.0a1"
  414. static const Shortint DAEMON_LISTEN_SIZE = 0x64;
  415. static const Word MAGNUS_ERROR_LEN = 0x2000;
  416. static const Shortint CR = 0xd;
  417. static const Shortint LF = 0xa;
  418. #define ENDLINE "\r\n"
  419. static const Shortint ENTERPRISE_VERSION = 0x1;
  420. static const Shortint PERSONAL_VERSION = 0x2;
  421. static const Shortint CATALOG_VERSION = 0x3;
  422. static const Shortint RDS_VERSION = 0x4;
  423. static const Shortint SEM_ERROR = 0x0;
  424. static const Word SEM_MAXVALUE = 0x7fff;
  425. static const Shortint IO_OKAY = 0x1;
  426. static const Shortint IO_ERROR = 0xffffffff;
  427. static const Shortint IO_EOF = 0x0;
  428. static const Word FILE_BUFFERSIZE = 0x1000;
  429. #define SYS_ERROR_FD (void *)(0x0)
  430. #define SYS_STDERR (void *)(0x0)
  431. static const Word ERROR_PIPE = 0x2ff;
  432. static const char FILE_PATHSEP = '\x2f';
  433. #define FILE_PARENT "..\\"
  434. static const Word NET_BUFFERSIZE = 0x2000;
  435. static const Shortint NET_READ_TIMEOUT = 0x78;
  436. static const Word NET_WRITE_TIMEOUT = 0x12c;
  437. static const Shortint NET_INFINITE_TIMEOUT = 0x0;
  438. static const Shortint NET_ZERO_TIMEOUT = 0xffffffff;
  439. static const Word SSL_HANDSHAKE_TIMEOUT = 0x12c;
  440. static const Shortint SYS_NET_ERRORFD = 0xffffffff;
  441. static const Shortint SESSION_HASHSIZE = 0x5;
  442. #define MCC_MT_MAGIC "#--Mosaic Communications Corporation MIME Information"
  443. static const Shortint MCC_MT_MAGIC_LEN = 0x35;
  444. #define NCC_MT_MAGIC "#--Netscape Communications Corporation MIME Information"
  445. static const Shortint NCC_MT_MAGIC_LEN = 0x37;
  446. static const char CINFO_SEPARATOR = '\x2e';
  447. static const Word CINFO_MAX_LEN = 0x400;
  448. static const Shortint CINFO_HASHSIZE = 0x1b;
  449. static const Word MAX_ERROR_LEN = 0x2000;
  450. static const Shortint LOG_WARN = 0x0;
  451. static const Shortint LOG_MISCONFIG = 0x1;
  452. static const Shortint LOG_SECURITY = 0x2;
  453. static const Shortint LOG_FAILURE = 0x3;
  454. static const Shortint LOG_CATASTROPHE = 0x4;
  455. static const Shortint LOG_INFORM = 0x5;
  456. #define ERR_TIMEFMT "[%d/%b/%Y:%H:%M:%S]"
  457. static const Shortint ERRORS_TO_SYSLOG = 0xffffffff;
  458. static const Shortint NON_SXP = 0xffffffff;
  459. static const Shortint INVALID_SXP = 0xfffffffe;
  460. static const Shortint VALID_SXP = 0x1;
  461. static const Shortint NON_WILDPAT = 0xffffffff;
  462. static const Shortint INVALID_WILDPAT = 0xfffffffe;
  463. static const Shortint VALID_WILDPAT = 0x1;
  464. static const Shortint NON_REGEXP = 0xffffffff;
  465. static const Shortint INVALID_REGEXP = 0xfffffffe;
  466. static const Shortint VALID_REGEXP = 0x1;
  467. #define SYS_THREAD_ERROR (void *)(0x0)
  468. static const Shortint SYSTHREAD_DEFAULT_PRIORITY = 0x10;
  469. static const Byte CHILD_EMPTY_SLOT = 0xfe;
  470. static const Byte CHILD_AWAIT_CONNECT = 0xff;
  471. static const Shortint CHILD_PROCESSING = 0x0;
  472. static const Shortint CHILD_READING = 0x1;
  473. static const Shortint CHILD_WRITING = 0x2;
  474. static const Shortint CHILD_RESOLVING = 0x3;
  475. static const Shortint CHILD_DONE_PROCESSING = 0x14;
  476. static const Shortint CHILD_DONE_READING = 0x15;
  477. static const Shortint CHILD_DONE_WRITING = 0x16;
  478. static const Shortint CHILD_DONE_RESOLVING = 0x17;
  479. static const Word MAX_IP_DOMAINS = 0x100;
  480. static const Shortint OBJSET_INCSIZE = 0x8;
  481. static const Word MAX_DIRECTIVE_LEN = 0x320;
  482. static const Shortint PARAMETER_HASH_SIZE = 0x3;
  483. static const Word CONF_MAXLEN = 0x4000;
  484. static const Shortint DEFAULT_PORT = 0x50;
  485. static const Shortint DEFAULT_POOL_MAX = 0x32;
  486. static const Shortint REQ_HASHSIZE = 0xa;
  487. static const Word REQ_MAX_LINE = 0x1000;
  488. static const Shortint REQ_PROCEED = 0x0;
  489. static const Shortint REQ_ABORTED = 0xffffffff;
  490. static const Shortint REQ_NOACTION = 0xfffffffe;
  491. static const Shortint REQ_EXIT = 0xfffffffd;
  492. static const Shortint REQ_RESTART = 0xfffffffc;
  493. static const Byte HTTP_DATE_LEN = 0x80;
  494. #define HTTP_DATE_FMT "%A, %d-%b-%y %H:%M:%S GMT"
  495. static const Shortint HTTP_DEFAULT_KEEPALIVE_TIMEOUT = 0xf;
  496. static const Byte HTTP_MAX_HEADERS = 0xc8;
  497. static const Byte PROTOCOL_OK = 0xc8;
  498. static const Byte PROTOCOL_CREATED = 0xc9;
  499. static const Byte PROTOCOL_NO_RESPONSE = 0xcc;
  500. static const Byte PROTOCOL_PARTIAL_CONTENT = 0xce;
  501. static const Word PROTOCOL_REDIRECT = 0x12e;
  502. static const Word PROTOCOL_NOT_MODIFIED = 0x130;
  503. static const Word PROTOCOL_BAD_REQUEST = 0x190;
  504. static const Word PROTOCOL_UNAUTHORIZED = 0x191;
  505. static const Word PROTOCOL_FORBIDDEN = 0x193;
  506. static const Word PROTOCOL_NOT_FOUND = 0x194;
  507. static const Word PROTOCOL_PROXY_UNAUTHORIZED = 0x197;
  508. static const Word PROTOCOL_SERVER_ERROR = 0x1f4;
  509. static const Word PROTOCOL_NOT_IMPLEMENTED = 0x1f5;
  510. static const Shortint HTTP_PORT = 0x50;
  511. #define HTTP_URL "http"
  512. static const Shortint NUM_HASH = 0x14;
  513. extern PACKAGE bool __fastcall server_fasttrack(void);
  514. extern PACKAGE bool __fastcall server_enterprise(void);
  515. extern PACKAGE void __fastcall CONVERT_TO_PRINTABLE_FORMAT(char * Filename);
  516. extern PACKAGE void __fastcall CONVERT_TO_NATIVE_FS(char * Filename);
  517. extern PACKAGE BOOL __fastcall system_rename(char * Old, char * New);
  518. extern PACKAGE BOOL __fastcall system_unlink(char * path);
  519. extern PACKAGE int __fastcall system_lseek(SYS_FILE fd, int off, int wh);
  520. extern PACKAGE int __fastcall system_flock(SYS_FILE fd);
  521. extern PACKAGE int __fastcall system_ulock(SYS_FILE fd);
  522. extern PACKAGE int __fastcall dir_create(char * Path);
  523. extern PACKAGE int __fastcall dir_remove(char * Path);
  524. extern PACKAGE PPbParam __fastcall pblock_find(char * name, PPblock pb);
  525. extern PACKAGE PPbParam __fastcall pblock_remove(char * name, PPblock pb);
  526. extern PACKAGE int __fastcall netbuf_getc(PNetBuf b);
  527. extern PACKAGE int __fastcall filebuf_getc(PFileBuffer b);
  528. extern PACKAGE int __fastcall pipebuf_getc(PFileBuffer b);
  529. extern PACKAGE char * __fastcall session_dns(PSession sn);
  530. extern PACKAGE char * __fastcall session_maxdns(PSession sn);
  531. extern PACKAGE char __fastcall CINFO_HASH(char * s);
  532. extern PACKAGE int __fastcall request_loadheaders(PSession sn, PRequest rq);
  533. extern PACKAGE PPASSWD __fastcall userpw(void);
  534. extern PACKAGE int __fastcall pool_max(void);
  535. extern PACKAGE int __fastcall pool_min(void);
  536. extern PACKAGE int __fastcall pool_life(void);
  537. extern PACKAGE int __fastcall pool_maxthreads(void);
  538. extern PACKAGE int __fastcall pool_minthreads(void);
  539. extern PACKAGE char * __fastcall server_hostname(void);
  540. extern PACKAGE char * __fastcall root_object(void);
  541. extern PACKAGE PHttpdObjSet __fastcall std_os(void);
  542. extern PACKAGE void * __fastcall acl_root(void);
  543. extern PACKAGE char * __fastcall master_error_log(void);
  544. extern PACKAGE char * __fastcall server_root(void);
  545. extern PACKAGE char * __fastcall server_id(void);
  546. extern PACKAGE AnsiString __fastcall NSstr2String(char * nsStr);
  547. extern "C" int __cdecl strcasecmp(char * s1, char * s2);
  548. extern "C" int __cdecl strncasecmp(char * s1, char * s2, int n);
  549. extern "C" int __cdecl util_strcasecmp(char * s1, char * s2);
  550. extern "C" int __cdecl util_strncasecmp(char * s1, char * s2, int n);
  551. extern "C" char * __cdecl system_version(void);
  552. extern "C" char * __cdecl MAGNUS_VERSION_STRING(void);
  553. extern "C" void __cdecl system_version_set(char * ptr);
  554. extern "C" void * __cdecl MALLOC(int size);
  555. extern "C" void * __cdecl system_malloc(int size);
  556. extern "C" void * __cdecl CALLOC(int size);
  557. extern "C" void * __cdecl system_calloc(int size);
  558. extern "C" void * __cdecl REALLOC(void * ptr, int size);
  559. extern "C" void * __cdecl system_realloc(void * ptr, int size);
  560. extern "C" void __cdecl FREE(void * ptr);
  561. extern "C" void __cdecl system_free(void * ptr);
  562. extern "C" char * __cdecl STRDUP(char * ptr);
  563. extern "C" char * __cdecl system_strdup(char * ptr);
  564. extern "C" void * __cdecl PERM_MALLOC(int size);
  565. extern "C" void * __cdecl system_malloc_perm(int size);
  566. extern "C" void * __cdecl PERM_CALLOC(int size);
  567. extern "C" void * __cdecl system_calloc_perm(int size);
  568. extern "C" void * __cdecl PERM_REALLOC(void * ptr, int size);
  569. extern "C" void * __cdecl system_realloc_perm(void * ptr, int size);
  570. extern "C" void __cdecl PERM_FREE(void * ptr);
  571. extern "C" void __cdecl system_free_perm(void * ptr);
  572. extern "C" char * __cdecl PERM_STRDUP(char * ptr);
  573. extern "C" char * __cdecl system_strdup_perm(char * ptr);
  574. extern "C" void __cdecl magnus_atrestart(TAtRestart fn, void * data);
  575. extern "C" PPoolHandle __cdecl pool_create(void);
  576. extern "C" void __cdecl pool_destroy(PPoolHandle pool_handle);
  577. extern "C" BOOL __cdecl pool_enabled(void);
  578. extern "C" void * __cdecl pool_malloc(PPoolHandle pool_handle, int size);
  579. extern "C" void __cdecl pool_free(PPoolHandle pool_handle, void * ptr);
  580. extern "C" void * __cdecl pool_calloc(PPoolHandle pool_handle, int nelem, int elsize);
  581. extern "C" void * __cdecl pool_realloc(PPoolHandle pool_handle, void * ptr, int size);
  582. extern "C" char * __cdecl pool_strdup(PPoolHandle pool_handle, char * orig_str);
  583. extern "C" unsigned __cdecl sem_init(char * name, int Number);
  584. extern "C" void __cdecl sem_terminate(unsigned id);
  585. extern "C" int __cdecl sem_grab(unsigned id);
  586. extern "C" int __cdecl sem_tgrab(unsigned id);
  587. extern "C" int __cdecl sem_release(unsigned id);
  588. extern "C" void * __cdecl crit_init(void);
  589. extern "C" void __cdecl crit_enter(void * id);
  590. extern "C" void __cdecl crit_exit(void * id);
  591. extern "C" void __cdecl crit_terminate(void * id);
  592. extern "C" void * __cdecl condvar_init(void * id);
  593. extern "C" void __cdecl condvar_wait(void * cv);
  594. extern "C" void __cdecl condvar_notify(void * cv);
  595. extern "C" void __cdecl condvar_terminate(void * cv);
  596. extern "C" BOOL __stdcall system_chdir(char * Path);
  597. extern "C" int __cdecl system_stat(char * name, TStat &finfo);
  598. extern "C" int __cdecl system_fread(SYS_FILE fd, void * buf, int sz);
  599. extern "C" int __cdecl system_pread(SYS_FILE fd, void * buf, int sz);
  600. extern "C" SYS_FILE __cdecl system_fopenRO(char * path);
  601. extern "C" SYS_FILE __cdecl system_fopenWA(char * path);
  602. extern "C" SYS_FILE __cdecl system_fopenRW(char * path);
  603. extern "C" SYS_FILE __cdecl system_fopenWT(char * path);
  604. extern "C" void __cdecl system_fclose(SYS_FILE fd);
  605. extern "C" int __cdecl system_nocoredumps(void);
  606. extern "C" char * __cdecl system_winsockerr(void);
  607. extern "C" char * __cdecl system_winerr(void);
  608. extern "C" int __cdecl system_fwrite(SYS_FILE fd, void * buf, int sz);
  609. extern "C" int __cdecl system_fwrite_atomic(SYS_FILE fd, void * buf, int sz);
  610. extern "C" int __cdecl file_notfound(void);
  611. extern "C" char * __cdecl system_errmsg(void);
  612. extern "C" char * __cdecl system_errmsg_fn(void);
  613. extern "C" int __cdecl system_initlock(SYS_FILE fd);
  614. extern "C" int __cdecl file_setinherit(SYS_FILE fd, int value);
  615. extern "C" void __cdecl file_unix2local(char * path, char * p2);
  616. extern "C" PDir __cdecl dir_open(char * path);
  617. extern "C" PDirEnt __cdecl dir_read(PDir ds);
  618. extern "C" void __cdecl dir_close(PDir ds);
  619. extern "C" int __cdecl dir_create_all(char * dir);
  620. extern "C" PPbParam __cdecl param_create(char * name, char * value);
  621. extern "C" int __cdecl param_free(PPbParam pp);
  622. extern "C" PPblock __cdecl pblock_create(int n);
  623. extern "C" void __cdecl pblock_free(PPblock pb);
  624. extern "C" char * __cdecl pblock_findval(char * name, PPblock pb);
  625. extern "C" PPbParam __cdecl pblock_nvinsert(char * name, char * value, PPblock pb);
  626. extern "C" PPbParam __cdecl pblock_nninsert(char * name, int value, PPblock pb);
  627. extern "C" void __cdecl pblock_pinsert(PPbParam pp, PPblock pb);
  628. extern "C" int __cdecl pblock_str2pblock(char * str, PPblock pb);
  629. extern "C" char * __cdecl pblock_pblock2str(PPblock pb, char * str);
  630. extern "C" void __cdecl pblock_copy(PPblock src, PPblock dst);
  631. extern "C" PPblock __cdecl pblock_dup(PPblock src);
  632. extern "C" PPCharArray __fastcall pblock_pb2env(PPblock pb, PPCharArray env);
  633. extern PACKAGE PPbParam __cdecl _pblock_fr(char * name, PPblock pb, BOOL remove);
  634. extern "C" int __cdecl net_socket(int domain, int nettype, int protocol);
  635. extern "C" int __cdecl net_getsockopt(int s, int level, int optname, void * optval, int &optlen);
  636. extern "C" int __cdecl net_setsockopt(int s, int level, int optname, void * optval, int optlen);
  637. extern "C" int __cdecl net_listen(int s, int backlog);
  638. extern "C" int __cdecl net_create_listener(char * ipaddr, int port);
  639. extern "C" int __cdecl net_select(int nfds, Winsock::PFDSet r, Winsock::PFDSet w, Winsock::PFDSet e, 
  640.     Winsock::PTimeVal timeout);
  641. extern "C" int __cdecl net_connect(int s, void * sockaddr, int namelen);
  642. extern "C" int __cdecl net_ioctl(int s, int tag, void * result);
  643. extern "C" int __cdecl net_getpeername(int s, sockaddr_in &name, int &namelen);
  644. extern "C" int __cdecl net_close(int s);
  645. extern "C" int __cdecl net_bind(int s, sockaddr_in &name, int namelen);
  646. extern "C" int __cdecl net_accept(int s, PSOCKADDR addr, Windows::PInteger addrlen);
  647. extern "C" int __cdecl net_read(int sd, char * buf, int sz, int timeout);
  648. extern "C" int __cdecl net_write(int sd, char * buf, int sz);
  649. extern "C" BOOL __cdecl net_isalive(int sd);
  650. extern "C" char * __cdecl net_ip2host(char * ip, BOOL verify);
  651. extern "C" PFileBuffer __cdecl filebuf_open(SYS_FILE fd, int sz);
  652. extern "C" PNetBuf __cdecl netbuf_open(int sd, int sz);
  653. extern "C" PFileBuffer __cdecl filebuf_create(SYS_FILE fd, char * mmap_ptr, int mmap_len, int bufsz)
  654.     ;
  655. extern "C" void __cdecl filebuf_close_buffer(PFileBuffer buf, BOOL clean_mmap);
  656. extern "C" PFileBuffer __cdecl filebuf_open_nostat(SYS_FILE fd, int sz, TStat &finfo);
  657. extern "C" PFileBuffer __cdecl pipebuf_open(SYS_FILE fd, int sz, TStat &finfo);
  658. extern "C" int __cdecl filebuf_next(PFileBuffer buf, int advance);
  659. extern "C" int __cdecl netbuf_next(PNetBuf buf, int advance);
  660. extern "C" int __cdecl pipebuf_next(PFileBuffer buf, int advance);
  661. extern "C" void __cdecl filebuf_close(PFileBuffer buf);
  662. extern "C" void __cdecl netbuf_close(PNetBuf buf);
  663. extern "C" void __cdecl pipebuf_close(PFileBuffer buf);
  664. extern "C" int __cdecl filebuf_grab(PFileBuffer buf, int sz);
  665. extern "C" int __cdecl netbuf_grab(PNetBuf buf, int sz);
  666. extern "C" int __cdecl pipebuf_grab(PFileBuffer buf, int sz);
  667. extern "C" int __cdecl netbuf_buf2sd(PNetBuf buf, int sd, int len);
  668. extern "C" int __cdecl filebuf_buf2sd(PFileBuffer buf, int sd);
  669. extern "C" int __cdecl pipebuf_buf2sd(PFileBuffer buf, int sd, int len);
  670. extern "C" int __cdecl pipebuf_netbuf2sd(PNetBuf buf, SYS_FILE sd, int len);
  671. extern "C" PSession __cdecl session_create(int csd, Winsock::PSockAddrIn sac);
  672. extern "C" void __fastcall session_free(PSession sn);
  673. extern "C" char * __cdecl session_dns_lookup(PSession sn, BOOL verify);
  674. extern "C" void __cdecl cinfo_init(void);
  675. extern "C" void __cdecl cinfo_terminate(void);
  676. extern "C" char * __cdecl cinfo_merge(char * fn);
  677. extern "C" PCInfo __cdecl cinfo_find(char * uri);
  678. extern "C" PCInfo __cdecl cinfo_lookup(char * ctype);
  679. extern "C" char * __cdecl ereport_init(char * err_fn, char * email, void * &pw);
  680. extern "C" void __cdecl ereport_terminate(void);
  681. extern "C" SYS_FILE __cdecl ereport_getfd(void);
  682. extern "C" int __cdecl shexp_valid(char * exp);
  683. extern "C" int __cdecl shexp_match(char * str, char * exp);
  684. extern "C" int __cdecl shexp_cmp(char * str, char * exp);
  685. extern "C" int __cdecl shexp_casecmp(char * str, char * exp);
  686. extern "C" PShMem __cdecl shmem_alloc(char * name, int size, BOOL expose);
  687. extern "C" void __cdecl shmem_free(PShMem region);
  688. extern "C" void * __cdecl systhread_start(int prio, int stksz, TSysThreadFunc fn, void * arg);
  689. extern "C" void * __fastcall systhread_current(void);
  690. extern "C" void __cdecl systhread_yield(void);
  691. extern "C" void * __cdecl systhread_attach(void);
  692. extern "C" void __fastcall systhread_terminate(void * thr);
  693. extern "C" void __cdecl systhread_sleep(int milliseconds);
  694. extern "C" void __cdecl systhread_init(char * name);
  695. extern "C" void __cdecl systhread_timerset(int usec);
  696. extern "C" int __cdecl systhread_newkey(void);
  697. extern "C" void * __cdecl systhread_getdata(int key);
  698. extern "C" void __cdecl systhread_setdata(int key, void * data);
  699. extern PACKAGE void __cdecl _ntdaemon_run(void * Param);
  700. extern "C" void __cdecl daemon_atrestart(TAtRestart fn, void * data);
  701. extern "C" unsigned __fastcall child_fork(void);
  702. extern "C" int __cdecl util_getline(PFileBuffer buf, int lineno, int maxlen, char * l);
  703. extern "C" PPCharArray __cdecl util_env_create(PPCharArray env, int n, int &pos);
  704. extern "C" char * __cdecl util_env_str(char * name, char * value);
  705. extern "C" void __cdecl util_env_replace(PPCharArray env, char * name, char * value);
  706. extern "C" void __cdecl util_env_free(PPCharArray env);
  707. extern "C" PPCharArray __cdecl util_env_copy(PPCharArray src, PPCharArray dst);
  708. extern "C" char * __cdecl util_env_find(PPCharArray env, char * name);
  709. extern "C" char * __cdecl util_hostname(void);
  710. extern "C" int __fastcall util_chdir2path(char * path);
  711. extern "C" BOOL __cdecl util_is_mozilla(char * ua, char * major, char * minor);
  712. extern "C" BOOL __cdecl util_is_url(char * url);
  713. extern "C" BOOL __cdecl util_later_than(tm &lms, char * ims);
  714. extern "C" BOOL __cdecl util_time_equal(tm &lms, char * ims);
  715. extern "C" int __cdecl util_str_time_equal(char * t1, char * t2);
  716. extern "C" BOOL __cdecl util_uri_is_evil(char * t);
  717. extern "C" void __cdecl util_uri_parse(char * uri);
  718. extern "C" void __cdecl util_uri_unescape(char * s);
  719. extern "C" char * __cdecl util_uri_escape(char * d, char * s);
  720. extern "C" char * __cdecl util_url_escape(char * d, char * s);
  721. extern "C" char * __cdecl util_sh_escape(char * s);
  722. extern "C" int __fastcall util_mime_separator(char * sep);
  723. extern "C" int __fastcall util_itoa(int i, char * a);
  724. extern "C" void __cdecl util_delete_directory(char * FileName, BOOL delete_directory);
  725. extern "C" int __cdecl util_strftime(char * s, char * format, tm &t);
  726. extern "C" PHttpdObject __cdecl object_create(int nd, PPblock name);
  727. extern "C" void __cdecl object_free(PHttpdObject obj);
  728. extern "C" void __cdecl object_add_directive(int dc, PPblock p, PPblock c, PHttpdObject obj);
  729. extern "C" int __cdecl object_execute(PDirective inst, PSession sn, void * rq);
  730. extern "C" PHttpdObjSet __cdecl objset_scan_buffer(PFileBuffer buf, char * errstr, PHttpdObjSet os);
  731.     
  732. extern "C" PHttpdObjSet __cdecl objset_create(void);
  733. extern "C" void __cdecl objset_free(PHttpdObjSet os);
  734. extern "C" void __cdecl objset_free_setonly(PHttpdObjSet os);
  735. extern "C" PHttpdObjSet __cdecl objset_new_object(PPblock name, PHttpdObjSet os);
  736. extern "C" void __cdecl objset_add_object(PHttpdObject obj, PHttpdObjSet os);
  737. extern "C" void __cdecl objset_add_init(PPblock initfn, PHttpdObjSet os);
  738. extern "C" PHttpdObject __cdecl objset_findbyname(char * name, PHttpdObjSet ign, PHttpdObjSet os);
  739. extern "C" PHttpdObject __cdecl objset_findbyppath(char * ppath, PHttpdObjSet ign, PHttpdObjSet os);
  740.     
  741. extern "C" PHttpdObjSet __cdecl objset_copydirs(PHttpdObjSet dst_os, PHttpdObjSet os, int dir);
  742. extern "C" PHttpdObjSet __cdecl objset_scan_registry(char * errstr, PHttpdObjSet os, char * product_key
  743.     );
  744. extern "C" void __cdecl ProcessObject(PHttpdObjSet nos, HKEY hObjectKey, char * Obj, unsigned ObjectIndex
  745.     );
  746. extern "C" BOOL __cdecl ProcessClient(PHttpdObject cobj, HKEY hObjectKey, char * Client, unsigned ObjectIndex
  747.     );
  748. extern "C" BOOL __cdecl ProcessDirective(PHttpdObject cobj, PPblock param, PPblock client, HKEY hObjectKey
  749.     , char * Directive, unsigned ObjectIndex, unsigned DirectiveIndex, unsigned &clrefs, BOOL IsObject)
  750.     ;
  751. extern "C" BOOL __cdecl ProcessFunction(PPblock ¶m, HKEY hDirectiveKey, char * Func, unsigned ObjectIndex
  752.     , unsigned DirectiveIndex, unsigned FunctionIndex);
  753. extern PACKAGE int __cdecl _ntverify_parameter(char * str);
  754. extern "C" int __cdecl ntpblock_str2pblock(int ParameterIndex, char * name, char * value, int namelength
  755.     , int valuelength, PPblock pb);
  756. extern "C" int __cdecl ntpblock_pblock2str(PPbEntry p, char * &ParameterName, char * &ParameterValue
  757.     );
  758. extern "C" BOOL __cdecl ClearConfigurationParameters(HKEY hParentKey, char * CompleteKeyName, char * 
  759.     KeyName);
  760. extern "C" char * __cdecl GetProductKey(void);
  761. extern "C" char * __cdecl conf_init(char * cfn);
  762. extern "C" void __cdecl conf_terminate(void);
  763. extern "C" PConfGlobalVars __cdecl conf_getglobals(void);
  764. extern "C" void __cdecl conf_vars2daemon(PDaemon d);
  765. extern "C" BOOL __cdecl GetDomainAddresses(char * ErrMsg);
  766. extern "C" PRequest __cdecl request_create(void);
  767. extern "C" void __cdecl request_free(PRequest req);
  768. extern "C" PRequest __cdecl request_restart_internal(char * uri, PRequest rq);
  769. extern "C" int __cdecl request_header(char * name, PPCharArray value, PSession sn, PRequest rq);
  770. extern "C" PStat __cdecl request_stat_path(char * path, PRequest rq);
  771. extern "C" void __cdecl request_handle(PSession sn);
  772. extern "C" char * __cdecl request_translate_uri(char * uri, PSession sn);
  773. extern "C" PRequest __cdecl protocol_find_request(PNetBuf buf, PSession sn, int &reply);
  774. extern "C" PRequest __cdecl http_find_request(PNetBuf buf, PSession sn, int &reply);
  775. extern "C" int __cdecl protocol_parse_request(char * t, PRequest rq, PSession sn);
  776. extern "C" int __cdecl http_parse_request(char * t, PRequest rq, PSession sn);
  777. extern "C" int __cdecl protocol_scan_headers(PSession sn, PNetBuf buf, char * t, PPblock headers);
  778. extern "C" int __cdecl http_scan_headers(PSession sn, PNetBuf buf, char * t, PPblock headers);
  779. extern "C" int __cdecl protocol_start_response(PSession sn, PRequest rq);
  780. extern "C" int __cdecl http_start_response(PSession sn, PRequest rq);
  781. extern "C" PPCharArray __cdecl http_hdrs2env(PPblock pb);
  782. extern "C" void __cdecl protocol_status(PSession sn, PRequest rq, int n, char * r);
  783. extern "C" void __cdecl http_status(PSession sn, PRequest rq, int n, char * r);
  784. extern "C" int __cdecl protocol_set_finfo(PSession sn, PRequest rq, TStat &finfo);
  785. extern "C" int __cdecl http_set_finfo(PSession sn, PRequest rq, TStat &finfo);
  786. extern "C" char * __cdecl http_dump822(PPblock pb, char * t, int &pos, int tsz);
  787. extern "C" void __cdecl protocol_finish_request(PSession sn, PRequest rq);
  788. extern "C" void __cdecl http_finish_request(PSession sn, PRequest rq);
  789. extern "C" void __cdecl protocol_handle_session(PSession sn);
  790. extern "C" void __cdecl http_handle_session(PSession sn);
  791. extern "C" char * __cdecl protocol_uri2url(char * prefix, char * suffix);
  792. extern "C" char * __cdecl protocol_uri2url_dynamic(char * prefix, char * suffix, PSession sn, PRequest 
  793.     rq);
  794. extern "C" char * __cdecl http_uri2url(char * prefix, char * suffix);
  795. extern "C" char * __cdecl http_uri2url_dynamic(char * prefix, char * suffix, PSession sn, PRequest rq
  796.     );
  797. extern "C" void __cdecl protocol_set_keepalive_timeout(int secs);
  798. extern "C" void __cdecl http_set_keepalive_timeout(int secs);
  799. extern "C" void __cdecl func_init(void);
  800. extern "C" TFunction __cdecl func_find(char * name);
  801. extern "C" int __cdecl func_exec(PPblock pb, PSession sn, PRequest rq);
  802. extern "C" PFuncStruct __fastcall func_insert(char * name, TFunction fn);
  803. #pragma option push -w-inl
  804. inline void * __cdecl MALLOC(int size)
  805. {
  806.     return system_malloc(size);
  807. }
  808. #pragma option pop
  809.  
  810.  
  811. #pragma option push -w-inl
  812. inline void * __cdecl CALLOC(int size)
  813. {
  814.     return system_calloc(size);
  815. }
  816. #pragma option pop
  817.  
  818.  
  819. #pragma option push -w-inl
  820. inline void * __cdecl REALLOC(void * ptr, int size)
  821. {
  822.     return system_realloc(ptr, size);
  823. }
  824. #pragma option pop
  825.  
  826.  
  827. #pragma option push -w-inl
  828. inline void __cdecl FREE(void * ptr)
  829. {
  830.     system_free(ptr);
  831. }
  832. #pragma option pop
  833.  
  834.  
  835. #pragma option push -w-inl
  836. inline char * __cdecl STRDUP(char * ptr)
  837. {
  838.     return system_strdup(ptr);
  839. }
  840. #pragma option pop
  841.  
  842.  
  843. #pragma option push -w-inl
  844. inline void * __cdecl PERM_MALLOC(int size)
  845. {
  846.     return system_malloc_perm(size);
  847. }
  848. #pragma option pop
  849.  
  850.  
  851. #pragma option push -w-inl
  852. inline void * __cdecl PERM_CALLOC(int size)
  853. {
  854.     return system_calloc_perm(size);
  855. }
  856. #pragma option pop
  857.  
  858.  
  859. #pragma option push -w-inl
  860. inline void * __cdecl PERM_REALLOC(void * ptr, int size)
  861. {
  862.     return system_realloc_perm(ptr, size);
  863. }
  864. #pragma option pop
  865.  
  866.  
  867. #pragma option push -w-inl
  868. inline void __cdecl PERM_FREE(void * ptr)
  869. {
  870.     system_free_perm(ptr);
  871. }
  872. #pragma option pop
  873.  
  874.  
  875. #pragma option push -w-inl
  876. inline char * __cdecl PERM_STRDUP(char * ptr)
  877. {
  878.     return system_strdup_perm(ptr);
  879. }
  880. #pragma option pop
  881.  
  882.  
  883. #pragma option push -w-inl
  884. inline BOOL __stdcall system_chdir(char * Path)
  885. {
  886.     return SetCurrentDirectory(Path);
  887. }
  888. #pragma option pop
  889.  
  890.  
  891. #pragma option push -w-inl
  892. inline char * __cdecl system_errmsg(void)
  893. {
  894.     return system_errmsg_fn();
  895. }
  896. #pragma option pop
  897.  
  898.  
  899. #pragma option push -w-inl
  900. inline char * __cdecl request_translate_uri(char * uri, PSession sn)
  901. {
  902.     return servact_translate_uri(uri, sn);
  903. }
  904. #pragma option pop
  905.  
  906.  
  907. #pragma option push -w-inl
  908. inline PRequest __cdecl protocol_find_request(PNetBuf buf, PSession sn, int &reply)
  909. {
  910.     return http_find_request(buf, sn, reply);
  911. }
  912. #pragma option pop
  913.  
  914.  
  915. #pragma option push -w-inl
  916. inline int __cdecl protocol_parse_request(char * t, PRequest rq, PSession sn)
  917. {
  918.     return http_parse_request(t, rq, sn);
  919. }
  920. #pragma option pop
  921.  
  922.  
  923. #pragma option push -w-inl
  924. inline int __cdecl protocol_scan_headers(PSession sn, PNetBuf buf, char * t, PPblock headers)
  925. {
  926.     return http_scan_headers(sn, buf, t, headers);
  927. }
  928. #pragma option pop
  929.  
  930.  
  931. #pragma option push -w-inl
  932. inline int __cdecl protocol_start_response(PSession sn, PRequest rq)
  933. {
  934.     return http_start_response(sn, rq);
  935. }
  936. #pragma option pop
  937.  
  938.  
  939. #pragma option push -w-inl
  940. inline void __cdecl protocol_status(PSession sn, PRequest rq, int n, char * r)
  941. {
  942.     http_status(sn, rq, n, r);
  943. }
  944. #pragma option pop
  945.  
  946.  
  947. #pragma option push -w-inl
  948. inline int __cdecl protocol_set_finfo(PSession sn, PRequest rq, TStat &finfo)
  949. {
  950.     return http_set_finfo(sn, rq, finfo);
  951. }
  952. #pragma option pop
  953.  
  954.  
  955. #pragma option push -w-inl
  956. inline void __cdecl protocol_finish_request(PSession sn, PRequest rq)
  957. {
  958.     http_finish_request(sn, rq);
  959. }
  960. #pragma option pop
  961.  
  962.  
  963. #pragma option push -w-inl
  964. inline void __cdecl protocol_handle_session(PSession sn)
  965. {
  966.     http_handle_session(sn);
  967. }
  968. #pragma option pop
  969.  
  970.  
  971. #pragma option push -w-inl
  972. inline char * __cdecl protocol_uri2url(char * prefix, char * suffix)
  973. {
  974.     return http_uri2url(prefix, suffix);
  975. }
  976. #pragma option pop
  977.  
  978.  
  979. #pragma option push -w-inl
  980. inline char * __cdecl protocol_uri2url_dynamic(char * prefix, char * suffix, PSession sn, PRequest rq
  981.     )
  982. {
  983.     return http_uri2url_dynamic(prefix, suffix, sn, rq);
  984. }
  985. #pragma option pop
  986.  
  987.  
  988. #pragma option push -w-inl
  989. inline void __cdecl protocol_set_keepalive_timeout(int secs)
  990. {
  991.     http_set_keepalive_timeout(secs);
  992. }
  993. #pragma option pop
  994.  
  995.  
  996.  
  997. }    /* namespace Nsapi */
  998. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  999. using namespace Nsapi;
  1000. #endif
  1001. #pragma option pop    // -w-
  1002. #pragma option pop    // -Vx
  1003.  
  1004. #pragma delphiheader end.
  1005. //-- end unit ----------------------------------------------------------------
  1006. #endif    // NSApi
  1007.