home *** CD-ROM | disk | FTP | other *** search
/ High Voltage Shareware / high1.zip / high1 / DIR21 / NETTOL.ZIP / NETTO.CH next >
Text File  |  1993-07-15  |  17KB  |  399 lines

  1. /*
  2.  * File......: NETTO.CH
  3.  * Author....: Clipper Netware API Group
  4.  * CIS ID....: 71620,1521
  5.  * Date......: $Date$
  6.  * Revision..: $Revision$
  7.  * Log file..: $Logfile$
  8.  * 
  9.  * This is an original work by the Clipper Netware API working group
  10.  * and is placed in the public domain.
  11.  *
  12.  * Modification history:
  13.  * ---------------------
  14.  *
  15.  * $Log$
  16.  *
  17.  */
  18.  
  19. #ifndef __NETTO_CH__
  20. #define __NETTO_CH__
  21.  
  22.  
  23. // ---------------------------------------------------------------------
  24. // Bindery object types (decimal)
  25. // ---------------------------------------------------------------------
  26.  
  27. #define OT_WILD                         (-1)
  28. #define OT_UNKNOWN                       0   
  29. #define OT_USER                          1  
  30. #define OT_USER_GROUP                    2  
  31. #define OT_PRINT_QUEUE                   3  
  32. #define OT_FILE_SERVER                   4  
  33. #define OT_JOB_SERVER                    5
  34. #define OT_GATEWAY                       6
  35. #define OT_PRINT_SERVER                  7
  36. #define OT_ARCHIVE_QUEUE                 8
  37. #define OT_ARCHIVE_SERVER                9  
  38. #define OT_JOB_QUEUE                    10
  39. #define OT_ADMINISTRATION               11
  40. #define OT_NAS_SNA_GATEWAY              33
  41. #define OT_REMOTE_BRIDGE_SERVER         36
  42. #define OT_TIME_SYNCHRONIZATION_SERVER  45
  43. #define OT_ARCHIVE_SERVER_DYNAMIC_SAP   46
  44. #define OT_ADVERTISING_PRINT_SERVER     71
  45. #define OT_BTRIEVE_VAP                  80
  46. #define OT_PRINT_QUEUE_USER             83
  47.  
  48. // ---------------------------------------------------------------------
  49.  
  50. #define INT21            33
  51.  
  52. // ---------------------------------------------------------------------
  53. // Error codes
  54. // ---------------------------------------------------------------------
  55.  
  56. #define ESUCCESS      0
  57. #define EINT86        (-501)
  58. #define ENOSLOTS      (-502)
  59. #define EBADPARM      (-503)
  60.  
  61. /* errors for connection and workstation services functions */
  62.  
  63. // the following errors will be returned by fn_attchFS() only
  64.  
  65. #define EALREADY_ATTACHED        (-510)
  66. #define ENOFREE_SLOTS            (-511)
  67. #define ENOMORE_SLOTS            (-512)
  68. #define EUNKNOWN_SERVER            (-513)
  69. #define ESERVER_BINDERY_LOCKED            (-514)
  70. #define ESERVER_NOT_RESPONDING            (-515)
  71.  
  72. // the following error will be set by fn_StaAddr()
  73.  
  74. #define ENO_SHELL            (-520)
  75.  
  76. // the following error will be set by fn_detchFS()
  77.  
  78. #define ENOT_ATTACHED            (-530)
  79.  
  80. // the following errors will be returned by fn_MhsSndM()
  81.  
  82. #define EMHS_PARAM                      (-540)
  83. #define EMHS_MV                         (-541)
  84. #define EMHS_MAILSND                    (-542)
  85. #define EMHS_CREATE                     (-543)
  86. #define EMHS_SEND                       (-544)
  87. #define EMHS_LIST                       (-545)
  88.  
  89. // ---------------------------------------------------------------------
  90. // Converters
  91. // ---------------------------------------------------------------------
  92.  
  93.  
  94. #define UNSIGNED(n)   (n)                       // Temp fix til source is edited
  95. #define L2HILO(n)     (l2bin(ft_lswap((n)))) 
  96. #define W2HILO(n)     (i2bin(ft_iswap((n))))
  97. #define HILO2L(c)     (ft_lswap(bin2l((c))))
  98. #define HILO2W(c)     (ft_iswap(bin2i((c))))
  99. #define I2BYTE(n)     (chr((n)))
  100. #define BYTE2I(c)     (asc((c)))
  101.  
  102. // ---------------------------------------------------------------------
  103. // Commands
  104. // ---------------------------------------------------------------------
  105.  
  106. #xcommand DEFAULT <p> TO <val>;
  107.                [,<pn> TO <valn>] ;
  108.          =>;
  109.                IF( <p> = NIL, <p> := <val>, ) ;
  110.                [;IF(<pn> = NIL, <pn> := <valn>, )]
  111.  
  112. // ---------------------------------------------------------------------
  113.  
  114.  
  115. #xcommand    CREATE JOBSTRUCT <aJob> ;
  116.         [ QUEUE SERVER          <nTarg>   ] ;
  117.         [ STARTDATE             <dXdate>  ] ;
  118.         [ STARTTIME             <cXtime>  ] ;
  119.         [ JOB TYPE              <nType>   ] ;
  120.         [ <lAutoStart: AUTOSTART >        ] ;
  121.         [ <lReStart:   RESTART   >        ] ;
  122.         [ <lUHold:     USERHOLD  >        ] ;
  123.         [ <lOHold:     OPERATORHOLD >     ] ;
  124.         [ JOB DESCRIPTION       <cDesc>   ] ;
  125.         [ CLIENT RECORD AREA    <cCliRec> ] ;
  126.         => ;
  127.             <aJob> := _fnqjob( ,,, <nTarg>, <dXdate>, <cXtime>,,,, <nType>,, ;
  128.                                <.lAutoStart.>, <.lReStart.>,, <.lUHold.>, ;
  129.                                <.lOHold.>,,,,,, <cDesc>, <cCliRec> )
  130.  
  131. // ---------------------------------------------------------------------
  132.  
  133. #xcommand CREATE PRINTJOB <cPrtJob> ;
  134.   [ VERSION      <nVersion>   ] ;
  135.   [ TAB SIZE     <nTabSz>     ] ;
  136.   [ COPIES       <nCopies>    ] ;
  137.   [ <lNoBanner: NOBANNER >    ] ;
  138.   [ <lTxtStr:   TEXT >        ] ;
  139.   [ <lBinStr:   BINARY >      ] ;
  140.   [ <lNFF:    NOFORMFEED >    ] ;
  141.   [ <lInt:    INTERRUPT >     ] ;
  142.   [ MAXLINES     <nMaxLn>     ] ;
  143.   [ MAXCHARS     <nMaxCh>     ] ;
  144.   [ FORM NAME    <cForm>      ] ;
  145.   [ BANNER NAME  <cBanNam>    ] ;
  146.   [ BANNER FILE  <cBanFil>    ] ;
  147.   [ HEADER FILE  <cHdrFil>    ] ;
  148.   [ DIRPATH      <cDirPath>   ] ;
  149.   => ;
  150.       <cPrtJob> := _fnprtjob( <nVersion>, <nTabSz>, <nCopies>, <.lNoBanner.>, ;
  151.                               <.lTxtStr.>, <.lBinStr.>, <.lNFF.>, <.lInt.>, <nMaxLn>,;
  152.                               <nMaxCh>, <cForm>, <cBanNam>, <cBanFil>,;
  153.                               <cHdrFil>, <cDirPath> )
  154.  
  155. // ---------------------------------------------------------------------
  156.  
  157. #xcommand CAPTURE                                              ;
  158.                     [<jr: JOBRELEASE>]  [<njr: NOJOBRELEASE>]  ;
  159.                     [<ff: FORMFEED>]    [<ff: FF>]             ;
  160.                     [<nff: NOFORMFEED>] [<nff: NFF>]           ;
  161.                     [<ntb: NOTABS>]     [<ntb: NT>]            ;
  162.                     [TABS <nTabs>]      [T <nTabs>]            ;
  163.                     [SERVERPRINTER <nPrinter>]                 ;
  164.                     [COPIES <nCopies>]  [C <nCopies>]          ;
  165.                     [TIMEOUT <nSec>]    [TI <nSec>]            ;
  166.                     [<fd: FLUSHDEVICE>] [<nfd: NOFLUSHDEVICE>] ;
  167.                     [<fd: AUTOENDCAP>]  [<nfd: NOAUTOENDCAP>]  ;
  168.                     [<fd: A>]           [<nfd: NA>]            ;
  169.                     [MAXLINES <nLines>]                        ;
  170.                     [MAXCHARS <nChars>]                        ;
  171.                     [FORM <cnForm>]     [F <cnForm>]           ;
  172.                     [<nbn: NOBANNER>]   [<nbn: NB>]            ;
  173.                     [BANNER <(cBanner)>][B <(cBanner)>]        ;
  174.                     [NAM <(cName)>]                            ;
  175.                     [QUEUE <(cPQ)>] [Q <(cPQ)>]                ;
  176.                     [CREATE <(cPath)>] [CR <(cPath)>]          ;
  177.                                                                ;
  178.    =>  [ fn_printq(fn_gdeflpt(),<(cPQ)>) ;]                    ;
  179.        [ fn_sBanUnm(<(cName)>) ;]                              ;
  180.        [ fn_speCapF(<(cPath)>,0) ;]                            ;
  181.        fn_SLptCap()                                            ;
  182.      ; fn_sDefCpF({nil                                         ;
  183.                       ,{ [<.jr.>][!<.njr.>]                    ;
  184.                        , [!<.ff.>][<.nff.>]                    ;
  185.                        , Iif(<.nTabs.>,.T.,[!<.ntb.>])         ;
  186.                        , Iif(<.cBanner.>,.T.,[!<.nbn.>]) }     ;
  187.                    ,[<nTabs>]                                  ;
  188.                    ,[<nPrinter>]                               ;
  189.                    ,[<nCopies>]                                ;
  190.                    ,[Iif(ValType(<cnForm>)=="N",<cnForm>,)]    ;
  191.                    ,nil                                        ;
  192.                    ,[<(cBanner)>]                              ;
  193.                    ,nil,nil                                    ;
  194.                    ,[<nSec>*18]                                ;
  195.                    ,[<.fd.>][!<.nfd.>]                         ;
  196.                    ,[<nLines>],[<nChars>]                      ;
  197.                    ,[Iif(ValType(<cnForm>)=="C",<cnForm>,)]  })
  198.  
  199. // ---------------------------------------------------------------------
  200.  
  201. #xcommand CAPTURE [<x>] L <nPort> [<clauses,...>] ;
  202.                  => CAPTURE ON <nPort> [ <clauses>]
  203.  
  204.  
  205. // ---------------------------------------------------------------------
  206.  
  207. #command CAPTURE ON <nDevice>                                  ;
  208.                      [<jr: JOBRELEASE>]  [<njr: NOJOBRELEASE>] ;
  209.                      [<ff: FORMFEED>]    [<ff: FF>]            ;
  210.                      [<nff: NOFORMFEED>] [<nff: NFF>]          ;
  211.                      [<ntb: NOTABS>]     [<ntb: NT>]           ;
  212.                      [TABS <nTabs>]      [T <nTabs>]           ;
  213.                      [SERVERPRINTER <nPrinter>]                ;
  214.                      [COPIES <nCopies>]  [C <nCopies>]         ;
  215.                      [TIMEOUT <nSec>]    [TI <nSec>]           ;
  216.                      [<fd: FLUSHDEVICE>] [<nfd: NOFLUSHDEVICE>];
  217.                      [<fd: AUTOENDCAP>]  [<nfd: NOAUTOENDCAP>] ;
  218.                      [<fd: A>]           [<nfd: NA>]           ;
  219.                      [MAXLINES <nLines>]                       ;
  220.                      [MAXCHARS <nChars>]                       ;
  221.                      [FORM <cnForm>]     [F <cnForm>]          ;
  222.                      [<nbn: NOBANNER>]   [<nbn: NB>]           ;
  223.                      [BANNER <(cBanner)>][B <(cBanner)>]       ;
  224.                      [NAM <(cName)>]                           ;
  225.                      [QUEUE <(cPQ)>] [Q <(cPQ)>]               ;
  226.                                                                ;
  227.    =>  Iif((<.cPQ.>), fn_printq(<nDevice>[,<(cPQ)>]),nil) ;    ;
  228.        [ fn_sBanUnm(<(cName)>) ;]                              ;
  229.        fn_sSplptC(<nDevice>)                                   ;
  230.      ; fn_sSPCapF({nil                                         ;
  231.                       ,{ [<.jr.>][!<.njr.>]                    ;
  232.                        , [!<.ff.>][<.nff.>]                    ;
  233.                        , Iif(<.nTabs.>,.T.,[!<.ntb.>])         ;
  234.                        , Iif(<.cBanner.>,.T.,[!<.nbn.>]) }     ;
  235.                    ,[<nTabs>]                                  ;
  236.                    ,[<nPrinter>]                               ;
  237.                    ,[<nCopies>]                                ;
  238.                    ,[Iif(ValType(<cnForm>)=="N",<cnForm>,)]    ;
  239.                    ,nil                                        ;
  240.                    ,[<(cBanner)>]                              ;
  241.                    ,nil,nil                                    ;
  242.                    ,[<nSec>*18]                                ;
  243.                    ,[<.fd.>][!<.nfd.>]                         ;
  244.                    ,[<nLines>],[<nChars>]                      ;
  245.                    ,[Iif(ValType(<cnForm>)=="C",<cnForm>,)]  } ;
  246.                   , <nDevice>)
  247.  
  248. // ---------------------------------------------------------------------
  249.  
  250. #command ENABLE LOGIN    => fn_enalog()
  251. #command DISABLE LOGIN  => fn_dislog()
  252.  
  253. #command CASTOFF    => fn_setbmod( 1 )
  254. #command CASTOFF ALL    => fn_setbmod( 2 )
  255. #command CASTON         => fn_setbmod( 0 )
  256.  
  257. // ---------------------------------------------------------------------
  258.  
  259.  
  260. #command CAPTURE PRN   [<captureclauses,...>] => CAPTURE [<captureclauses>]
  261. #command CAPTURE LPT1  [<captureclauses,...>] => CAPTURE ON 1 [<captureclauses>]
  262. #command CAPTURE LPT2  [<captureclauses,...>] => CAPTURE ON 2 [<captureclauses>]
  263. #command CAPTURE LPT3  [<captureclauses,...>] => CAPTURE ON 3 [<captureclauses>]
  264.  
  265. #command ENDCAP      => fn_eLPTcap()
  266.  
  267. #command ENDCAP <nDevice> => fn_eSpLPTc(<nDevice>)
  268. #command ENDCAP PRN  => fn_eLPTcap()
  269. #command ENDCAP LPT1 => fn_eSpLPTc(1)
  270. #command ENDCAP LPT2 => fn_eSpLPTc(2)
  271. #command ENDCAP LPT3 => fn_eSpLPTc(3)
  272.  
  273. #command SAVE CAPTURE      TO <save> => <save> := fn_gDefCpf()
  274. #command SAVE CAPTURE PRN  TO <save> => <save> := fn_gDefCpf()
  275. #command SAVE CAPTURE LPT1 TO <save> => <save> := fn_gSPCapf(1)
  276. #command SAVE CAPTURE LPT2 TO <save> => <save> := fn_gSPCapf(2)
  277. #command SAVE CAPTURE LPT3 TO <save> => <save> := fn_gSPCapf(3)
  278.  
  279. #command RESTORE CAPTURE      FROM <save>  => fn_sDefCpf(<save>)   ; Iif(<save>\[CF_PRINTQUEUEID\] == 0,nil,fn_printq(fn_gdeflpt(),<save>\[CF_PRINTQUEUEID\]))
  280. #command RESTORE CAPTURE PRN  FROM <save>  => fn_sDefCpf(<save>)   ; Iif(<save>\[CF_PRINTQUEUEID\] == 0,nil,fn_printq(fn_gdeflpt(),<save>\[CF_PRINTQUEUEID\]))
  281. #command RESTORE CAPTURE LPT1 FROM <save>  => fn_sSPCapf(<save>,1) ; Iif(<save>\[CF_PRINTQUEUEID\] == 0,nil,fn_printq(1,<save>\[CF_PRINTQUEUEID\]))
  282. #command RESTORE CAPTURE LPT2 FROM <save>  => fn_sSPCapf(<save>,2) ; Iif(<save>\[CF_PRINTQUEUEID\] == 0,nil,fn_printq(2,<save>\[CF_PRINTQUEUEID\]))
  283. #command RESTORE CAPTURE LPT3 FROM <save>  => fn_sSPCapf(<save>,3) ; Iif(<save>\[CF_PRINTQUEUEID\] == 0,nil,fn_printq(3,<save>\[CF_PRINTQUEUEID\]))
  284.  
  285. // ---------------------------------------------------------------------
  286. // Errors for Bindery Functions [to be cleaned up]
  287. // ---------------------------------------------------------------------
  288.  
  289. #define SERVER_OUT_OF_MEMORY         150
  290. #define NOT_ITEM_PROPERTY            232
  291. #define MEMBER_ALREADY_EXISTS        233
  292. #define NO_SUCH_MEMBER               234
  293. #define NOT_GROUP_PROPERTY           235
  294. #define NO_SUCH_SEGMENT              236
  295. #define PROPERTY_ALREADY_EXISTS      237
  296. #define OBJECT_ALREADY_EXISTS        238
  297. #define INVALID_NAME                 239
  298. #define WILDCARD_NOT_ALLOWED         240
  299. #define INVALID_BINDERY_SECURITY     241
  300. #define NO_OBJECT_RENAME_PRIVILEGE   243
  301. #define NO_OBJECT_DELETE_PRIVILEGE   244
  302. #define NO_OBJECT_CREATE_PRIVILEGE   245
  303. #define NO_PROPERTY_DELETE_PRIVILEGE 246
  304. #define NO_PROPERTY_CREATE_PRIVILEGE 247
  305. #define NO_PROPERTY_WRITE_PRIVILEGE  248
  306. #define NO_PROPERTY_READ_PRIVILEGE   249
  307. #define NO_SUCH_PROPERTY             251
  308. #define NO_SUCH_OBJECT               252
  309. #define SERVER_BINDERY_LOCKED        254
  310. #define BINDERY_FAILURE              255
  311.  
  312. // ---------------------------------------------------------------------
  313. // Security rights levels
  314. // ---------------------------------------------------------------------
  315.  
  316. #define SEC_ANYONE         0
  317. #define SEC_LOGGED         1
  318. #define SEC_OBJECT         2
  319. #define SEC_SUPERVISOR     3
  320. #define SEC_NETWARE        4
  321.  
  322. // ---------------------------------------------------------------------
  323. // Queue job entry structure array indices
  324. // ---------------------------------------------------------------------
  325.  
  326. #define QJ_CLIENT_STATION      1
  327. #define QJ_CLIENT_TASK         2
  328. #define QJ_CLIENT_ID           3
  329. #define QJ_TARGET_SERVER       4
  330. #define QJ_TARGET_EXEC_DATE    5
  331. #define QJ_TARGET_EXEC_TIME    6
  332. #define QJ_JOB_ENTRY_DATE      7
  333. #define QJ_JOB_ENTRY_TIME      8
  334. #define QJ_JOB_NUMBER          9
  335. #define QJ_JOB_TYPE           10
  336. #define QJ_JOB_POSITION       11
  337. #define QJ_AUTOSTART          12
  338. #define QJ_RESTART            13
  339. #define QJ_ENTRYOPEN          14
  340. #define QJ_USERHOLD           15
  341. #define QJ_OPERATORHOLD       16
  342. #define QJ_JOB_FILE_NAME      17
  343. #define QJ_JOB_FILE_HANDLE    18
  344. #define QJ_SERVER_STATION     19
  345. #define QJ_SERVER_TASK        20
  346. #define QJ_SERVER_ID          21
  347. #define QJ_JOB_DESCRIPTION    22
  348. #define QJ_CLIENT_RECORD_AREA 23
  349.  
  350. // ---------------------------------------------------------------------
  351. // Capture Flags Structure
  352. // ---------------------------------------------------------------------
  353.  
  354.  
  355. #define CF_FLAGCOUNT            26
  356. #define CF_PRINTFLAGCOUNT        4
  357.  
  358. #define CF_STATUSFLAG            1
  359.  
  360. #define CF_PRINTFLAGS            2
  361.   #define CF_PRINTRELEASE        1
  362.   #define CF_SUPPRESSFORMFEED    2
  363.   #define CF_INTERPRETCTRLSEQ    3
  364.   #define CF_PRINTBANNER         4
  365.  
  366. #define CF_TABSIZE               3
  367. #define CF_SERVERPRINTER         4
  368. #define CF_NUMBERCOPIES          5
  369. #define CF_FORMTYPE              6
  370. #define CF_RESERVEDFLAG1         7
  371. #define CF_BANNERTEXT            8
  372. #define CF_RESERVEDFLAG2         9
  373. #define CF_LOCALLPTDEVICE       10
  374. #define CF_FLUSHCAPTIMEOUT      11
  375. #define CF_FLUSHCAPONDEVCLOSE   12
  376. #define CF_MAXLINES             13
  377. #define CF_MAXCHARS             14
  378. #define CF_FORMNAME             15
  379. #define CF_LPTCAPTUREFLAG       16
  380. #define CF_FILECAPTUREFLAG      17
  381. #define CF_TIMINGOUTFLAG        18
  382. #define CF_PRTRSETBUFFERADD     19
  383. #define CF_PRTRESETBUFFADD      20
  384. #define CF_CONIDQUEPRTJOB       21
  385. #define CF_CAPTUREINPROG        22
  386. #define CF_PRINTQUEUEFLAG       23
  387. #define CF_PRINTJOBVALID        24
  388. #define CF_PRINTQUEUEID         25
  389. #define CF_PRINTJOBNUMBER       26
  390.  
  391. // ---------------------------------------------------------------------
  392.  
  393. #define FA_TRANSACTIONAL 5      // Don't change these defines
  394. #define FA_INDEX         6
  395. #define FA_READ_AUDIT    7
  396. #define FA_WRITE_AUDIT   8
  397.  
  398. #endif // __NETTO_CH__
  399.