home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1993 #2 / Image.iso / clipper / nettos11.zip / DOC / INF.DOC next >
Text File  |  1993-07-27  |  23KB  |  601 lines

  1. !short: About NETTO
  2. '---------------------------------------------------------------
  3.  
  4. NETTO is a public domain software library of code written for
  5. CA-Clipper application development language from Computer Associates
  6. Internal, Inc., version 5.2 and above.
  7.  
  8. NETTO provides access to many of the Novell NetWare application
  9. programming interfaces (APIs).  The APIs are accessed through
  10. either a simple function call, or via a command defined by 
  11. the NETTO library.
  12.  
  13. Please read this on-line documentation before using NETTO to see
  14. if it will be suitable for you.
  15.  
  16. NETTO comes with source code.  If you did not receive source code
  17. with NETTO, you can find it on CompuServe.
  18.  
  19. !short: What you can do with NETTO
  20. '---------------------------------------------------------------
  21.  
  22. You can do a lot.  Assuming you have the appropriate rights, you
  23. can, for example:
  24.  
  25.     -  Find out what user is running your application
  26.         -  Find out what users are logged in to the server
  27.         -  Ask for a user's NetWare password and verify it
  28.         -  Print directly to NetWare print queues
  29.         -  Attach to servers and log in
  30.         -  Build queue servers and submit queue jobs of any type
  31.         -  Disable login 
  32.  
  33. !short: System and Software Requirements
  34. '---------------------------------------------------------------
  35.  
  36. NETTO requires CA-Clipper version 5.2 or above.  To use NETTO, 
  37. you must also link in the Nanforum Toolkit, version 2.1 or 
  38. later.
  39.  
  40. !short: A Note to Authors
  41. -------------------------
  42.  
  43. AUTHORS! If I didn't include something you sent me, it could be
  44. because:
  45.  
  46.     -  What you sent didn't work
  47.     -  I tried to contact you about it and you didn't respond
  48.     -  It required I think about it more than a half hour so 
  49.        I put it off (likely)
  50.     -  I forgot about it completely (extremely likely)
  51.  
  52. I know there are one or two of you who keep reminding me about
  53. the same thing over and over and I can't keep track of it due
  54. to a major cerebral overload that simply causes my brain to
  55. reject additional information once it reaches a certain high
  56. watermark.  When this happens, the only thing I can recall
  57. is my junior high locker combination.  But enough about me.
  58.  
  59. _Please_ don't be offended.  Just contact me as soon as possible
  60. and we'll try to right things in the next release.
  61.  
  62. If you're thinking about submitting code; examine the code in
  63. the NETTOS source library, and adhere to the Nanforum Toolkit
  64. standards.
  65.  
  66.     - Glenn Scott
  67.           CompuServe:  71620,1521
  68.           Internet:    glenn@hup.ucla.edu
  69.  
  70. !short: Installation and Linking
  71. '---------------------------------------------------------------
  72.  
  73. ^bComponents^b
  74.  
  75. NETTO consists of the following two files:
  76.  
  77.     NETTOL.ZIP       Library, documentation, .CH files
  78.         NETTOS.ZIP       Source code, makefile
  79.  
  80. Unzip NETTOL.ZIP to reveal
  81.  
  82.         NETTO.LIB
  83.         NETTO.CH
  84.         NETTO.NG
  85.  
  86. ^bInstalling the Library^b
  87.  
  88. Place NETTO.LIB in the directory where your other CA-Clipper
  89. .LIB files are, such as \clipper5\lib.
  90.  
  91. Place NETTO.CH in the directory where your other CA-Clipper
  92. .CH files, such as \clipper5\include.
  93.  
  94. Place NETTO.NG in the directory where your Norton Guide
  95. databases are, such as \clipper5\ng.
  96.  
  97. You're ready to go!
  98.  
  99. ^bInstalling the Source^b
  100.  
  101. You do not need to install the source to use NETTO.  You
  102. can skip this step if you don't need to examine the source
  103. code now.
  104.  
  105. Make a subdirectory for the source code; e.g., \netto\src.
  106. Place NETTOS.ZIP in \netto\src.  Unzip NETTOS.ZIP with the 
  107. -d option:
  108.  
  109.     pkunzip nettos -d
  110.  
  111. and the source code tree will be created.
  112.  
  113. ^bIncluding the .CH file^b
  114.  
  115. You only need to include the .CH file in your .PRG files if you 
  116. make reference to one of the NETTO commands (as opposed to the
  117. functions), or the manifest constants.  If you need to include
  118. NETTO.CH, place a directive at the top of your .PRG as follows:
  119.  
  120.     #include "netto.ch"
  121.  
  122. ^bLinking^b
  123.  
  124. If you use NETTO functions, you must include NETTO.LIB and NANFOR.LIB
  125. on your link line:
  126.  
  127.     RTLINK:
  128.  
  129.     rtlink fi myapp lib netto, nanfor
  130.  
  131.     WARPLINK:
  132.  
  133.     rtlink myapp,,,netto+nanfor
  134.  
  135.     BLINKER:
  136.  
  137.     [?]
  138.  
  139.  
  140. ^bOverlay Considerations^b
  141.  
  142. Almost all of the NETTO library is Clipper code and can be overlaid.
  143. [To be written]
  144.  
  145. !short: Compatibility with ExoSpace (TM)
  146. '----------------------------------------
  147.  
  148. [At release time, a product from SofDesign International and ObjecTech, 
  149. Inc. called ExoSpace (tm) was released, which is a DOS Extender 
  150. designed to run CA-Clipper applications in protected mode.  A rewrite
  151. of the FT_INT86() function from the Nanforum Toolkit, on which all 
  152. of NETTO is based, was required to be compatibile with ExoSpace.
  153. This re-write is well underway and a patch to provide ExoSpace 
  154. compatibility should be available soon.]
  155.  
  156. !short: Is it wise to make a program NetWare-specific?
  157. '---------------------------------------------------------------
  158.  
  159. [This is something that should be discussed but I didn't have
  160. time to write it.  Perhaps for the next release.]
  161.  
  162.  
  163. !short: The NETTO Mailing List!
  164. '-------------------------------
  165.  
  166. If you have access to the Internet (and this includes CompuServe
  167. users), you can join an experimental mailing list to discuss
  168. Netto issues, ask questions, and report bugs.  
  169.  
  170. To subscribe to the list, you have to send a specially formatted
  171. mail message to a mail server.  Once your subscription is 
  172. confirmed, you will receive postings via electronic mail, and
  173. you can post your own.  You may at any time sign off the
  174. mailing list.
  175.  
  176. ^bTo subscribe:^b
  177.  
  178. Compose a mail message in which the first line of the body of 
  179. the message says simply:
  180.  
  181.     subscribe netto
  182.  
  183. Then send it to the following address:
  184.  
  185.     If you're on the Internet:   maiser@hup.ucla.edu
  186.     If you're on CompuServe:     >internet: maiser@hup.ucla.edu
  187.  
  188. CompuServe users:  This message must be sent through CompuServe 
  189. MAIL (GO MAIL) and it's important that you include the ">" symbol.
  190.  
  191. In due time you will receive a confirmation via electronic mail with
  192. some additional instructions.
  193.  
  194. ^bTo post messages to the list:^b
  195.  
  196. Send an electronic mail message to the following address:
  197.  
  198.     If you're on the Internet:    netto@hup.ucla.edu
  199.     If you're on CompuServe:      >internet: netto@hup.ucla.edu
  200.  
  201. ^bTo sign off the list:^b
  202.  
  203. Compose a mail message in which the first line of the body of 
  204. the message says simply:
  205.  
  206.     unsubscribe netto
  207.  
  208. Then send it to the following address:
  209.  
  210.     If you're on the Internet:   maiser@hup.ucla.edu
  211.     If you're on CompuServe:     >internet: maiser@hup.ucla.edu
  212.  
  213. If you're not on CompuServe or the Internet, you may still have an 
  214. electronic mail gateway to the Internet.  Ask your local system 
  215. administrator, BBS Sysop, electronic mail expert, or customer
  216. service representative.
  217.  
  218. !short: Encrypted login support
  219. '---------------------------------------------------
  220.  
  221. When NETTO was written, we included support for encrypted login.
  222. Many of the recent NetWare revisions encrypt the passwords over
  223. the wire when you log in.  The login.exe program contains the 
  224. proprietary, secret encryption algorithm.
  225.  
  226. Novell makes this encryption algorithm available to third parties
  227. in the form of pre-compiled .OBJ files.  These are available to
  228. developers who have signed licensing agreements with Novell, and
  229. can be downloaded from the private Novell developer forum on 
  230. CompuServe, called NOVDEV.
  231.  
  232. We asked Novell if we could include this .OBJ in our release.
  233. They felt that since their encrypted code is their property,
  234. having it appear in a public domain collection would be 
  235. inappropriate.  They want all users to be licensed appropriately.
  236.  
  237. If you want to do encrypted login, you're going to have to be
  238. licensed to do it.  My suggestion is to join Novell's Professional
  239. Developer's Program.  This is free.  (Info on the PDP is available
  240. elsewhere in this Norton Guide, in the "Resources" area.)  Then,
  241. contact Novell's developer support and ask about getting the 
  242. encrypted login code.
  243.  
  244. Note that I believe there are a couple versions of this code.
  245. The latest contains support for Novell's new packet signature 
  246. security technology.  We haven't tested with the latest versions
  247. with NETTO.
  248.  
  249. Perhaps one of you would like to become the expert in this.  I need
  250. some relief from worrying about it.
  251.  
  252. !short: Legal status
  253. '---------------------------------------------------
  254.  
  255. When NETTO was being developed, someone suggested our efforts 
  256. were somehow `illegal' since we were documenting NetWare API 
  257. return codes.
  258.  
  259. I contacted Novell Legal directly and found this was not a problem,
  260. although they did object to including encrypted login code, so we
  261. removed it.  
  262.  
  263. I have a signed letter on file from a Novell attorney, in case
  264. anyone doesn't believe me.  So there.
  265.  
  266. !short: Support for protected mode (e.g., ExoSpace)
  267. '---------------------------------------------------
  268.  
  269. NETTO should work with ExoSpace, provided you link the NANFORX.LIB
  270. library _ahead_ of NANFOR.LIB.  NANFORX.LIB contains a version of
  271. ft_int86() that is compatible with the ExoSpace DOS extender for
  272. Clipper, sold by SofDesign, International.  ft_int86() is called
  273. by every function in NETTO.  NANFORX.LIB is found in NFORX.ZIP, 
  274. available in library 5 of the CLIPPER forum on CompuServe.
  275.  
  276. !short: Credits
  277. '---------------------------------------------------
  278.  
  279. Librarian:   Glenn Scott [71620,1521]
  280.  
  281. Contributors:
  282.  
  283. Gregory Anthony [70045,1160]
  284. Joseph D. Booth [72040,2112]
  285. Sheldon Easterbrook [71421,254]
  286. Michael Landesman [76376,2465]
  287. Steve Larsen [76370,1532]
  288. Ted Means
  289. David A. Minter [76247,3475]
  290. Rodgers Moore [75730,2244]
  291. David Peterson
  292. Mike Taylor, modifications by Ted Means [73310,3013]
  293. Glenn Scott [71620,1521]
  294. Christopher Shortt [72760,3271]
  295. Norbert Sommer [100016,1241]
  296. Kevin Maher/Steve Tyrakowski [73766,1224]
  297.  
  298. Thanks to all the beta testers, well-wishers, Technicon '92 attendees,
  299. and CA-Clipper third party NetWare library developers.  To Ted Means
  300. for creating FT_INT86(), the key to the whole thing, and for various
  301. other bits and pieces that seem to hold the whole library together.
  302. To Steve Hochschild of Lotus, formerly of Novell Developer Relations,
  303. for the encouragement and software tools.  To Kristin Burkland at
  304. Novell for getting the seal of approval from Novell Legal.  Hearty
  305. thanks to David `Dippy' Peterson, Steve Rowe, and the entire
  306. Australian crew that worked with them for early enthusiasm and
  307. testing; and especially to David for fixing the date code so it
  308. would work internationally.  
  309.  
  310. Most special thanks to Steve Larsen, Steve Tyrakowski, and Kevin Maher, 
  311. the core team, who stuck with it.  
  312.  
  313. We welcome your involvement: please contact us via CompuServe at 
  314. 71620,1521.  Via the internet at 71620.1521@compuserve.com.  
  315. Post questions and comments on the CA-Clipper forum on CompuServe 
  316. (GO CLIPPER).
  317.  
  318. Join the NETTO mailing list!  See elsewhere in this Guide.
  319.  
  320. Report bugs!  Better yet, fix them!
  321.  
  322. !short: Getting Support
  323. '-----------------------
  324.  
  325. Many people believe that because a software package is in the 
  326. public domain, it will be unsupported.  This may or not be 
  327. the case.
  328.  
  329. If you need assistance, try the following avenues:
  330.  
  331.     *  Find another developer that is using the library, and
  332.        ask her
  333.  
  334.     *  Ask on the BBS or on-line service where you obtained
  335.        the library.  The best place is to ask on the CompuServe
  336.        Clipper forum (GO CLIPPER), where this library has a home.
  337.  
  338.     *  Subscribe to the new automated NETTO mailing list, and
  339.        ask the question.  There's another section in this Norton
  340.        Guide about the mailing list.
  341.  
  342.     *  Send an electronic mail message to one of the authors. 
  343.        While we cannot guarantee that any particular author will
  344.        be available to support the library, you can always try.
  345.        If you're on CompuServe, the CIS ID that is shown in 
  346.        the documentation will suffice.  If you're on the Internet,
  347.        convert the CIS ID from this form:
  348.  
  349.                         nnnnn,xxx
  350.  
  351.        to:
  352.  
  353.                         nnnnnn.xxx@compuserve.com
  354.                               ^--- note the dot instead of the comma.
  355.  
  356.     *  Hire a consultant.  Why not?  People hire you, don't they?
  357.        Find some Clipper developer that is familiar with this 
  358.        library and pay them to fix or modify it, or otherwise 
  359.        show you how to use it.
  360.  
  361. It is important to realize that you're dealing with Novell NetWare 
  362. here, and Novell maintains a heavy presence on the CompuServe
  363. Information Service.  Some of Novell's CompuServe forums you might
  364. be interested in include:
  365.  
  366.         NOVC           Sections on NetWare programming
  367.         NOVDEV         Private forum for members of developer's program
  368.         NOVUSER        Novell-related files not uploaded by Novell
  369.         NOVLIB         Novell patches and other official uploads
  370.         NOVFILES       Novell patches and other official uploads
  371.  
  372. !short: Warnings
  373. '---------------
  374.  
  375. Something can always go wrong.  It is possible that using this
  376. software could, at some point, result in a machine lockup or, more
  377. remotely, a server abend (although in over a year of testing I've
  378. never seen this happen).
  379.  
  380. These problems could be caused by you or by the software.  It is
  381. important that you always test your code on non-production servers
  382. if possible, and to make sure that you have backups of important 
  383. files.  This is just common sense.
  384.  
  385. !short: Trademarks and Disclaimers
  386. '---------------------------------------------------------------
  387.  
  388. All products, anmes, and services are trademarks or 
  389. registered trademarks of their respective companies. 
  390.  
  391. Novell and NetWare are registered trademarks and Transaction
  392. Tracking System (TTS) and NetWare shell are trademarks of Novell,
  393. Inc.
  394.  
  395. CA-Clipper is a registered trademark of Computer Associates
  396. International, Inc.
  397.  
  398. Neither Novell nor Computer Associates is affiliated with this
  399. project in any way.  Neither company provides any support or
  400. other assistance with this project.
  401.  
  402. This software is in the public domain and is provided AS IS,
  403. with no warranties expressed or implied.  There is no author
  404. or copyright holder for this work.
  405.  
  406. !short: NETTO's limitations
  407. '---------------------------------------------------------------
  408.  
  409. Because NETTO isn't a commercial product, we have no need to 
  410. gloss over its limitations and problems.  We would appreciate you 
  411. pointing them out as well so we can include them here.
  412.  
  413.    ^bMissing APIS^b
  414.  
  415.    The most obvious problem with NETTO is that not all the APIs are
  416.    provided.  This is usually because no one volunteered to
  417.    write the code, or the code couldn't be finished in time,
  418.    or because there is some technical reason it won't be easy
  419.    under straight Clipper.  
  420.  
  421.    The best way to solve problems with missing APIs is to offer to
  422.    write code.  Get in touch with any NETTO author and he or she
  423.    will point you in the right direction.
  424.  
  425.    ^bNetWare Versions^b
  426.  
  427.     NETTO was written in 1992 and was tested primarily on NetWare 3.x
  428.     although most of the APIs should work on 286 servers. NetWare 4.0
  429.     was being  readied for release at the time NETTO v1.0 was done; only
  430.     limited NetWare 4.0 testing was done.
  431.  
  432.     ^bNetWare Lite? LanMan? VINES?^b
  433.  
  434.     NETTO will not work on NetWare Lite, or on networks from other
  435.     vendors such as Banyan VINES or Microsoft Lan Manager.
  436.  
  437. !short: Bugs and how to report them
  438. '---------------------------------------------------------------
  439.  
  440. There will probably be bugs.  The best way to get those fixed is to 
  441. report them quickly and in such a way as to be useful.  This is
  442. best accomplished by observing facts and reporting them.  Sample
  443. code (provided it's not an entire 200K application but a short
  444. snippet that will fail) is most welcome.
  445.  
  446. No one will complain if you fix the bug yourself and submit the 
  447. edited code.
  448.  
  449. Post the bug reports and fixes publicly on the CLIPPER forum
  450. on CompuSErve, or e-mail then to 71620,1521 (internet:
  451. 71620.1521@compuserve.com).  
  452.  
  453. You can also join the NETTO mailing list to post bug reports!
  454. Check for the section about the mailing list elsewhere in this
  455. guide.
  456.  
  457.  
  458. !short: Will all this work under NetWare 4.0?
  459. '---------------------------------------------------------------
  460.  
  461. If you're planning to upgrade to NetWare 4.0, you're probably wondering
  462. whether an investment in NetWare API programming is going to burn 
  463. you.  The answer is, it depends.
  464.  
  465. Novell has done much to insure that NetWare 4.0 will remain backward
  466. compatible with 3.x and 2.x.  However, it isn't clear yet how clean 
  467. this compatibility will be for programmers.
  468.  
  469. For example, to access a NetWare 4.x server from a DOS workstation,
  470. you must use the NetWare Requester (VLM.EXE) which replaces the NetWare
  471. shell (NETX and its counterparts).  Fortunately, you can use this same
  472. requestor to access a NetWare 3.x or 2.x server (providing what is called
  473. a "bindery connection").  VLM.EXE loads a number of modules depending on
  474. how it is configured by the user or system adminstrator.  Much of the 
  475. backward compatibility is provided by a module called NETX.VLM.
  476.  
  477. So far, so good.  NETX.VLM will provide a "shell" interface for you, 
  478. so most (if not all) of the NETTO APIs should work.  However, if the user
  479. or system administrator decides that they don't want to use NETX.VLM
  480. (and they eventually will, because NETX.VLM exacts a performance and 
  481. memory penalty) then your NetWare APIs may not work, and you'll have
  482. to recode or update to some new APIs.
  483.  
  484. Will NETTO be updated to reflect the new APIs?  I would certainly like
  485. to do it, and certainly plan on learning what they are, but with a 
  486. public domain library, there's no guarantee.  So it's your decision.
  487.  
  488. !short: What about NetWare 4.0's Directory Services?
  489. '---------------------------------------------------------------
  490.  
  491. Directory Services is Novell's replacement for Bindery Services.
  492.  
  493. This will be a problem, and not just for NETTO.  Clipper third party 
  494. library vendors, including NETTO, create high level libraries for you
  495. by working at the assembly level.  Although NETTO is Clipper code, 
  496. we're really loading registers and calling interrupts so we're 
  497. working at the assembly level.  
  498.  
  499. As of this writing, Novell was preparing to release the assembler APIs
  500. to developers.  It may be nearly impossible for assembly programmers
  501. to do Directory Services (DS) calls for a couple of reasons:
  502.  
  503.         - DS calls require RSA encryption algorithms that 
  504.           are licensed by Novell and aren't available at the 
  505.           assembler level
  506.  
  507.         - DS calls require text be passed back and forth in 
  508.           a format called Unicode which supports internationalization.
  509.           While not a showstopper, it means assembler programmers
  510.           must write unicode interfaces to the DS APIs.
  511.  
  512. So it is doubtful that you will see Directory Services APIs from _any_
  513. Clipper third party vendor, but we could be wrong.
  514.  
  515. The only alternative is to program in C and use Novell's Client API
  516. for C, or in a Windows-based language that can make calls to Novell's
  517. Dynamic Link Libraries (DLLs).  If you plan to be working under 
  518. CA-Visual Objects for Clipper, then you will be able to make such calls
  519. to the NetWare APIs directly, without NETTO or anyone else acting as 
  520. a middleman.
  521.  
  522. If you are doing bindery calls with NETTO or another CLipper third party
  523. library then you will probably be okay if the 4.0 server you're working
  524. with is doing bindery emulation.  If it isn't, then as one Novell 
  525. engineer told us, "You're toast."  You'll have to either drop the 
  526. bindery calls, or get the supervisor to run bindery emulation.
  527.  
  528. [And, it is possible that the creative Clipper third party market will
  529. have solved this for you some other way by the time it matters. I 
  530. wouldn't put it past 'em.]
  531.  
  532. !short: What to do if you're clueless
  533. '---------------------------------------------------------------
  534.  
  535. Okay, you've looked through this thing, and you're reading this
  536. because you're pretty sure you still have no idea what it's all about.
  537. Do not be ashamed.
  538.  
  539. When we were beta testing the NETTO library, we discovered that many
  540. of the reported bugs were a result of inadequate understanding of 
  541. what's going on.  The obvious solution was to create better
  542. documentation.  
  543.  
  544. Did we?  Sometimes.  There were attempts at doing this, but it's
  545. very difficult to muster up the energy to write a full how-to
  546. article for a public domain project on which you've already spent too 
  547. much time.  Where the documentation is thin in NETTO, we apologize
  548. and suggest that you:
  549.  
  550.      -  Ask
  551.  
  552.         If you're a CompuServe user, please send a message either
  553.         to 71620,1521 or to All on the Clipper forum.  This will
  554.         point out flaws in the documentation, which will force us
  555.         to explain ourselves in print, which we will then 
  556.         capture with our comm software and put into the next release.
  557.         You do your civic duty by asking.
  558.  
  559.      -  Read
  560.  
  561.         If you're technically inclined and think you've found a bug
  562.         and feel comfortable rummaging around the NETTO source,
  563.         please do so.  You might want to have available a NetWare
  564.         API reference of some sort.  We might recommend Rose's book.
  565.         Check the appropriate "Books and Publications" section of 
  566.         this on-line guide for more information.
  567.  
  568.       - Rewrite
  569.  
  570.         Why not figure out the problem (by asking/reading, etc) and
  571.         then write up the explanation, improving on what is or isn't
  572.         already there?  It would help others and it's a great way for
  573.         you to contribute.
  574.  
  575.       - Buy a third party product
  576.  
  577.         NETTO was not intended to replace third party products.  Many
  578.         of these companies, motivated by a desire to create 
  579.         added value and make some money, have written extensive
  580.         documentation.  There's nothing stopping you from buying
  581.         their products and using a combination of NETTO and the
  582.         third party product if you want to.  You'll have a lot
  583.         of functionality and you might get a very good manual.
  584.  
  585. In short, if you're clueless, don't worry about it.  Ask someone
  586. who knows, get in touch with the authors, join the mailing list,
  587. and experiment.
  588.  
  589. !short: Things to Do
  590. '---------------------------------------------------------------
  591.  
  592. ^bWould you like to help with:^b
  593.  
  594. More APIS!
  595. NetWare 4.0 Compatibility (Requester support)
  596. IPX/SPX
  597. More documentation
  598. Beginner's Guide
  599. Clean up error codes
  600. Use CA-Clipper error system
  601.