Welcome to the Driver Development Support Center's (DDSC) DUDE. The DUDE is being run by the "MAXIMUS" BBS software program. We currently support three telephone lines, using an auto-roll system. If the first line is busy when you call the DUDE, the call automatically rolls to the second line. If that line is busy, it rolls to the third. Currently, we support up to 9600 baud on each line. This arrangement allows us to provide 24 hour a day support for your device driver development questions. In addition to the DUDE, the DDSC team uses a sophisticated database to keep track of your questions and the status of each one. This assists us in the daily review and follow-up of all device driver questions UPLOADED to us. Until you have completed the online registration (Registration form option at the Main menu), you will have access to the following features of the DUDE: MAIL AREAS ---------- DDSCMAIL - This area is for day to day communication between you and the DDSC team. Please use this area to post your QUICK, NON-TECHNICAL questions and concerns. All messages posted in the DDSCMAIL area are private and can only be viewed by a member of the DDSC team and the addressee If you have a simple issue you wish to discuss with the DDSC team, address it to "DDSC Sysop" if you do not have a particular person you wish it to go to. TECHNICAL questions are to be UPLOADED as an ASCII file using the File System feature of the DUDE. PUBLIC - This is an experimental area. This area is available for you to post public announcements to other OS/2 device driver developers who are using this system. The DDSC team DOES NOT monitor this area for questions. FILE AREAS ---------- INFO - This area contains information of a general nature: recent announcements pertaining to device driver development, DDK information, upcoming device driver workshops, and other things that we think you might be interested in. You can DOWNLOAD any file listed in this area. Until you complete the online registration and have your access level upgraded, you will NOT have UPLOAD authority. Once registered, and given full access to this system, you will have access to an additional file area: MAIN - This is where we provide our best stuff for you. Question and answer files, documentation, and other important files are available here. Also, it is this file area that you need to use when uploading your device driver questions. We monitor this area daily, looking for all newly uploaded files. When a new file is found, the questions will be entered into our tracking database and assigned to one of the DDSC team members. The way we do business is simple. When you have a device driver question, create an ASCII file describing your problem. Please include as much detail as possible. UPLOAD the file to the MAIN file area, giving the file any name you wish. We will begin working to get you an answer as soon as we "pull" the files from the system (the first thing done at the start of the next business day, sometimes sooner). If we need additional information or clarification of your question, we will contact you. For this type of information, contact will most likely be by phone. Status updates and/or the answers to your questions will be posted on this system. Therefore, if you have submitted a question, we ask that you make it a practice call the DUDE every other business day and see if you have any "mail". Although we have a limited staff and resources, we should be able to provide answers to 80% of the questions within five business days. One last comment - this support system is based on a private interaction between you, the customer, and us. We take your questions directly to the OS/2 development team, if necessary. We will get you the most correct answer we can. If you desire to interact and ponder your driver development questions with other OS/2 driver developers found across the world, we suggest you check out the IBM OS/2 device driver forum on CompuServe. Thank you, and welcome. Your DDSC TEAM Device Drivers Workshop Schedule ******* 1994 ******** Date Course # Description ____ ________ ___________ 1/24 OS2DD101 Physical Device Drivers (PDD) 2/21 OS2DD303 Adapter Device Drivers (ADD) 3/21 OS2DD302 Graphics Accelerator Device Drivers 4/18 OS2DD309 Multimedia Device Drivers 5/09 OS2DD304 Pointer Device Drivers 6/20 OS2DD201 OS/2 2.x Virtual Device Drivers (VDD) 7/18 OS2DD308 LAN Device Drivers - OS/2 2.x MAC 8/22 OS2DD306 PM Printer Device Drivers 9/19 OS2DD305 Logical Device Managers, Filter Device Drivers 10/10 OS2DD401 PCMCIA Physical Device Drivers 11/07 OS2DD101 Physical Device Drivers (PDD) 12/12 WPSDD101 WORKPLACE OS Device Drivers OS/2 DEVICE DRIVER WORKSHOP ROADMAP ----------------------------------- ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ WRITING ³ ³ WRITTEN ³ ³ PM CLASS ³ ³ PRINTER OR ÃÄÄÄÄÄÄÄÄ>´ OS/2 DD ÃÄÄÄÄÄÄÄÄ>´ RECOMMENDED ³ ³ VIDEO DD ³YES ³ BEFORE ³NO ³ ³ ³ ? ³ ³ ? ³ ³ (SEE NOTE) ³ ÀÄÄÄÄÄÄÂÄÄÄÄÄÄÄÙ ÀÄÄÄÄÄÄÂÄÄÄÄÄÄÄÙ ÀÄÄÄÄÄÄÄÂÄÄÄÄÄÄÙ ³NO ³YES ³ ÚÄÄÄÄÄÄÁÄÄÄÄÄÄÄ¿ ³ ³ ³ WRITTEN ³ Ã<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Ú<ÄÄ´ OS/2 DD ³ ³ ³YES³ BEFORE ³ ³ ³ ³ ? ³ Ã>ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ÀÄÄÄÄÄÄÂÄÄÄÄÄÄÄÙ ³ ³ ³ ³NO ³ ³ ³ ÚÄÄÄÄÄÄÁÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÁÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÁÄÄÄÄÄÄ¿ ³ ³ ³ ³ ³ ³ ³ ³ ³ OS2DD101 ³ ³ OS2DD306 ³ ³ OS2DD302 ³ Ã<ÄÄ´ PDD ³ ³ PRINTER ³ ³ SVGA/VIDEO ³ ³ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄÄÄÄÄÄÂÄÄÄÄÄÄÄÙ ÀÄÄÄÄÄÄÄÂÄÄÄÄÄÄÙ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>´ ³ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÁÄÄÄÄÄÄ¿ ³ ³ ³ ³ ³ ³ ADVANCED ³ ³ ³ OS2DD308 ³ ³ OS2DD101 ³ YES³ HARDWARE ³ ÃÄÄ>´ LAN Ã>ÄÄÄÄÄ¿ ³ PDD Ã<ÄÄÄÄÄÄÄÄ´ FUNCTION ³ ³ ³ ³ ³ ³ ³ ³ ? ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ÀÄÄÄÄÄÄÂÄÄÄÄÄÄÄÙ ÀÄÄÄÄÄÄÄÂÄÄÄÄÄÄÙ ³ ³ ³ ³NO ³ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ OS2DD303 ³ ³ ³ ³ ÃÄÄ>´ SCSI/DISK Ã>ÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>´ ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ ³ ³ ³ ³ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ÚÄÄÄÄÄÄÄÁÄÄÄÄÄÄ¿ ³ ³ ³ ³ ³ WANT ³ ³ ³ OS2DD401 ³ ³ ³ DOS/WINOS2 ³NO ÃÄÄ>´ PCMCIA Ã>ÄÄÄÄÄÅ>ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>´ SUPPORT ÃÄÄÄÄ¿ ³ ³ ³ ³ ³ ? ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ÀÄÄÄÄÄÄÄÂÄÄÄÄÄÄÙ END ³ ³ ³YES ³ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ÚÄÄÄÄÄÄÄÁÄÄÄÄÄÄ¿ ³ ³ ³ ³ ³ ³ ³ ³ OS2DD309 ³ ³ ³ OS2DD201 ³ ÃÄÄ>´ MULTIMEDIA Ã>ÄÄÄÄÄÙ ³ VDD ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ ³ NOTE: The following Skill Dynamics Presentation ³ ³ OS2DD304 ³ Manager classes are available: ÀÄÄ>´ POINTER DD ³ ³ ³ o WTDPM0AM - Fundamentals ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ o WTDPM0BM - Advanced topics ****************************************************************************** Physical Device Drivers (PDD) Serial, Parallel Port Device Drivers Course OS2DD101 Objective ========= This five day workshop will enable programmers to write OS/2 Physical Device Drivers (PDD); A PDD enables I/O ports (serial, parallel, A/D, etc) to be shared by multiple OS/2 applications. This seminar describes how the PDD communicates with the OS/2 kernel using the DevHlp interface. Installation and debug techniques will also be covered. The OS/2 Device Driver Kit (DDK) will be used extensively in order to build and test the PDD. Target Audience =============== IBM or OEM programmers who code device drivers for PC hardware, such as serial, parallel, SCSI, or proprietary interfaces. This course is a prerequisite for all other device driver courses, except PM Printer and Display courses. Attendee prerequisites ====================== a. Programming expertise: C and/or MASM b. Have written device drivers/utilities for OEM hardware (DOS device drivers, ROM BIOS, test utilities) c. Attendee must be a licensee of the following software: OS/2 2.1, Device Driver Source Kit (DDK), MSC 6.0 Outline ======= OS/2 Structure Device Driver types Physical Device Driver Character vs Block Modes, Times Init, Kernel, Interrupt, Timer Init sequence Config.sys processing Utilities, debuggers Compiler, Assembler, Linker usage Symbol Generation (MAPSYM) Kernel Debugger (KDB) Processor support Semaphores PDD Address spaces Memory Management Monitor implementations VDD Communication Lab: Develop OEM Physical Device Driver ***************************************************************************** Graphics Accelerator Device Drivers Seamless Windows Video Device Drivers for Video Accelerators Course OS2DD302 Objective ========= This 5 day workshop enables PC Video Board manufacturers to write OS/2 2.1 Video Display drivers. This workshop will upgrade an OS/2 1.x Presentation Manager Device Driver (PM DD) to OS/2 2.1. It will also modify a Windows 3.1 Windows Video Device Driver to provide Seamless Windows support. The DDK S3 toolkit sample (written in C) will be used extensively as a conversion model for an accelerator video card. Target audience =============== IBM or OEM programmers who code device drivers for video display cards. Attendee prerequisites ====================== a. Programming expertise: C, 386 assembler b. Knowledge of OS/2 PM DD, VDD, Windows Video Device Driver c. Intimate knowledge of OEM hardware & programming protocol d. Have written code for video hardware (ROM BIOS, utilities) e. Attendee must be a licensee of the following software: OS/2 2.1, Windows DDK, Device Driver Source Kit (DDK) with Seamless Windows Supplement Diskette, MSC 6.0, MASM 6.0 Outline: ======== OS/2 Structure, Device Driver types PM Device Drivers Block diagram - Logic, Data flow New elements in 2.1 Screen Device drivers Extended vendor support 32 bit driver components, Palette management Seamless windows (16 bit), VDD suppport DDK Organization, Build tree Tools, Display test tool (DTT) BVH-SVGA Subsystem 32 bit SVGA Display Driver IBMVGA32.DLL, IBMDEV32.DLL, DSPRES.DLL Background mix options, Palette management Supported video modes, adapters PMI file, chipset identification Screen driver Virtual Device Driver (VDD) Architecture, protocol Virtualization mechanisms I/O Handler, Support services, DOS session manager PM display driver services, VGA virtualization Emulation - Text mode, graphics mode FG/BG processing, strategies Windows Display Drivers Shield layers, Semaphore usage "Black hole creation", Palette management DSPINSTL - Configuration file interpreter, Command set ****************************************************************************** Adapter Device Drivers (ADD) OS/2 Device Drivers for SCSI or Proprietary Interfaces Course OS2DD303 Objective ========= This five day workshop will enable programmers to write OS/2 Adapter device drivers (ADD); An ADD communicates with SCSI or proprietary I/O interfaces which usually connect to DASD, CDROM, etc. This class will identify the protocol on how the ADD communicates with the Device Manager (DMD) using the IORB interface. Installation and debug techniques will also be covered. The OS/2 Device Driver Kit (DDK) will be used extensively in order to build and test the ADD. Target audience =============== IBM or OEM programmers who code device drivers for PC I/O interfaces such as SCSI or proprietary. Attendee prerequisites ====================== a. Programming expertise: C (MASM useful) b. Have written device drivers for DASD I/O hardware (DOS device drivers, ROM BIOS, test utilities) c. Attendee must be a licensee of the following software: OS/2 2.1, Device Driver Source Kit (DDK), MSC 6.0 d. Knowledge of OS/2 2.x PDD Recommend attendence at OS2DD101 workshop Outline: ======== OS/2 Structure Device Driver types Driver Stack under OS/2 2.x Adapter Device Driver (ADD) Filter ADD (FLT), Device Manager (DMD) CONFIG.SYS Installation (BASEDEV= ) Boot sequence ADD Development considerations Command line parameters Error handling IORB - Format, Control Device Table Structure TESTCFG.SYS IOctl functions, parameters CDROM filter ADD example Sample Code layout Device Driver Profiles Impact: SCSI versus proprietary interfaces Lab: Adapter device driver development ****************************************************************************** Pointer Device Drivers OS/2 2.x Pointer Device Drivers Course OS2DD304 Objective ========= This five day workshop will enable programmers to write pointer device drivers which enables pointing devices such as a mouse, trackball, touch screens, light pens, tracking pens, and braille pads to be used under OS/2 2.x by OS/2, DOS, and Windows applications. This class will identify the protocol on how to communicate with the other device drivers and the kernel using the DevHlp interface. Installation and debug techniques will also be covered. The OS/2 Device Driver Kit (DDK) will be used extensively in order to build and test the PDD. Target audience =============== IBM or OEM programmers who code device drivers for Pointer devices such as mice, pens, etc. Attendee prerequisites ====================== a. Programming expertise: C and MASM b. Have written device drivers/utilities for OEM hardware (DOS device drivers, ROM BIOS, test utilities) c. Attendee must be a licensee of the following software: OS/2 2.1, Device Driver Source Kit (DDK), MSC 6.0 d. Knowledge of OS/2 2.x PDD Recommend attendence at OS2DD101 workshop Outline ======= OS/2 Structure Device Driver types Pointer device driver model Character Elements: Physical, Virtual Device dependent code vs. device independent code Swappable/Resident Physical vs. logical FG/BG/Detached request processing Required functions Collision check Pointer positioning logic Queue processing IOCtl Support Request handler structure Error handling IDC to other modules Monitor processing Lab: Develop OEM Pointer Device Driver **************************************************************************** Logical Device Managers, Filter Device Drivers OS/2 2.x Device Managers (DMD) Filter (FLT) Course OS2DD305 Objective ========= This five day workshop will enable programmers to write a Device Manager Driver (DMD); A DMD enables the logical support of a particular device type (such as hard disks, CDROM, printers, scanners, etc). A filter enables added value software such as disk encrypters or compression. This workshop will identify the protocol on how to implement a DMD or FLT to provide a uniform interface to it's clients (Adapter Device Drivers (ADD). Installation and debug techniques will also be covered. The OS/2 Device Driver Kit (DDK) will be used extensively in order to build and test the Device Manager (DMD), and filter (FLT). Target audience =============== IBM or IHV programmers who code device drivers for logical devices such as CDROM, WORM, etc. The code developed in this module is independent of the physical connection (i.e. SCSI, proprietary) to the logical device. Attendee prerequisites ====================== a. Programming expertise: C (MASM useful) b. Knowledge of OS/2 1.x Physical DD (attend OS2DD101 or equivalent) c. Knowledge of IHV programming protocol d. Attendee must be a licensee of the following software: OS/2 2.1, Device Driver Source Kit (DDK), MSC 6.0 Outline ======= OS/2 Structure Device Driver types Driver Stack under OS/2 2.0 Adapter Device Driver (ADD) Filter ADD Device Manager (DM) CONFIG.SYS Installation (BASEDEV= ) Boot sequence DMD Development considerations Command line parameters Error handling IORB Control Format Device Table Structure OS2DASD.DMD example walkthrough Sample Code layout Device Driver Profiles DDK contents Organization, Build tree, Tools Display test tool (DTT) Test case DLLs Lab: Device Manager development **************************************************************************** PM Printer Device Drivers Course OS2DD306 Objective ========= This five day workshop will enable programmers to write OS/2 Printer Presentation Manager (PM) Device Drivers (printer DD); A printer DD enables OS/2, DOS, and windows apps to share a common printer. This class will cover the core PM DD modules used to interface OS/2 applications and print spooler to the printer; this will include support for WIN and GPI calls. Interfacing to the graphics engine and DISPLAY.DLL will be covered in detail. Installation and debug techniques will also be covered. The OS/2 Device Driver Kit (DDK) will be used extensively in order to build and test the PDD. Target audience =============== IBM or IHV programmers who code GUI device drivers for printers. Attendee prerequisites ====================== a. Programming expertise: C, MASM b. Intimate knowledge of IHV hardware & programming protocol c. Other device drivers for IHV hardware (i.e. printer drivers) d. Attendee must be a licensee of the following software: OS/2 2.1, Device Driver Source Kit (DDK), MSC 6.0, MASM 5.1 Outline: ======== OS/2 Structure Device Driver types, PM Device Drivers Block diagram (PM Driver modules) Logic, Data flow Device Context Types, data types, stack usage Dynamic Link Library functions Imported, exported Presentation Driver Interface Protocol Return codes, Allocating memory, Error Strategy Protection implementation, Exit List processing Interrupts (^C) Development topics Transform matrix values, Bounds computations Clipping, Coordinate values Printer driver specific topics Banding, Document processing, Extended attribs Device Names, Hardcopy driver migration, Job error dialog DDK contents Organization, Build tree, Tools Display test tool (DTT), Test case DLLs Labs: Developing OS/2 PM Printer DD ***************************************************************************** LAN Device Drivers - OS/2 2.x MAC NDIS-MAC Network Device Drivers Course OS2DD308 Objective ========= This five day workshop will enable programmers to write OS/2 Media Access Control (MAC) Device Drivers; A MAC enables LAN server 3.0 to support a particular type (or brand) of a LAN card. This seminar describes how the MAC communicates with the OS/2 LAN Server; the LAN 3.0 device driver stack will be reviewed in detail. Installation and debug techniques will also be covered. The OS/2 Device Driver Kit (DDK) will be used extensively in orderto build and test the MAC. Target Audience =============== IBM or OEM programmers who code device drivers for LAN hardware for the PC, such as Token Ring or Ethernets. Attendee prerequisites ====================== a. Programming expertise: C and/or MASM b. Have written device drivers/utilities for OEM hardware (DOS device drivers, ROM BIOS, test utilities) c. Attendee must be a licensee of the following software: OS/2 2.1, Device Driver Source Kit (DDK), MSC 6.0 Outline ======= OS/2 LAN support Structure LAN server, Extended services, LAN enabler, NTS/2, CM/2 NDIS architecture Protocol stacks Configuration PROTOCOL.INI, CONFIG.SYS, NIF Multiple protocol support Modes Init, interrupt, transmit, receive routines Init sequence - Config.sys processing Utilities, debuggers Semaphores MAC Address spaces, Memory Management Lab: Develop OEM MAC ****************************************************************************** MultiMedia Device Drivers OS/2 2.x MM/2 Device Drivers Course OS2DD309 Objective ========= This five day workshop will enable programmers to write OS/2 MultiMedia Device Drivers (MM/2 DD); A MM/2 DD provides an easy to use programming interface for application developers interested in integrating MM functions into new or existing apps. This seminar describes how the MM/2 DD communicates with the OS/2 kernel. I/O procs for media control (MIDI), Audio (wave and AMP/mixer) and video capture MM/2 drivers will be reviewed. Installation and debug techniques will also be covered. The OS/2 Device Driver Kit (DDK) will be used extensively in order to build and test the PDD. Target Audience =============== IBM or OEM programmers who code device drivers for MM hardware, such as MIDI, audio, or video capture boards. Attendee prerequisites ====================== a. Programming expertise: C and/or MASM b. Have written device drivers/utilities for OEM hardware (DOS device drivers, ROM BIOS, test utilities) c. Attendee must be a licensee of the following software: OS/2 2.1, Device Driver Source Kit (DDK), MSC 6.0 Outline ======= OS/2 MM Structure MM Protocol stacks Device Driver types Media control MIDI Audio Video Capture Modes, Times Init, Kernel, Interrupt, Timer Init sequence Config.sys processing Utilities, debuggers Compiler, Assembler, Linker usage Symbol Generation (MAPSYM) Kernel Debugger (KDB) Semaphores PDD Address spaces - Memory Management Monitor implementations VDD Communication Lab: Develop OEM MM Device Driver ****************************************************************************** OS/2 WORKSHOP REGISTRATION FORM (please print or type) OS/2 Device Driver Curriculum Date Course # Course Description ==== ======== ================= 01/24/94 -- OS2DD101 Physical Device Drivers (PDD) 02/21/94 -- OS2DD303 Adapter Device Drivers (ADD) 03/21/94 -- OS2DD302 Graphics Accelerator Device Drivers 04/18/94 -- OS2DD309 Multimedia Device Drivers 05/09/94 -- OS2DD304 Pointer Device Drivers 06/20/94 -- OS2DD201 OS/2 2.x Virtual Device Drivers (VDD) 07/18/94 -- OS2DD308 LAN Device Driver - OS/2 2.x MAC 08/22/94 -- OS2DD306 PM Printer Device Driver 09/19/94 -- OS2DD305 Logical Device Managers, Filter Device Drivers 10/10/94 -- OS2DD401 PCMCIA Physical Device Drivers 11/07/94 -- OS2DD101 Physical Device Drivers (PDD) 12/12/94 -- WPSDD101 WORKPLACE OS Device Drivers ...................................................................... WORKSHOP COURSE# ________________________ DATES:__________________ ATTENDEE NAME:____________________________ TITLE: _________________ COMPANY NAME: _____________________________________________________ ADDRESS: _____________________________________________________ _____________________________________________________ _____________________________________________________ PHONE: (___)_____________________ FAX (___)______________________ EMERGENCY CONTACT: __________________________ (___)________________ telephone ABOUT THE DEVICE DRIVER YOU ARE CONVERTING: NAME/TITLE: ________________________________________________________ DESCRIPTION: _______________________________________________________ ____________________________________________________________________ ____________________________________________________________________ SIZE (approx. lines of code): _____________________________________ LANGUAGE: _________________ MFG: ______________ RELEASE: ___________ LANGUAGE: _________________ MFG: ______________ RELEASE: ___________ TARGET RELEASE DATE FOR YOUR OS/2 2.1 PRODUCT: _____________________ ATTENDEE'S PROGRAMMING EXPERIENCE WITH OS/2: _______________________ ____________________________________________________________________ ____________________________________________________________________ This workshop is provided "as is" without warranty of any kind, either express or implied, including, but not limited to, any implied warranties of merchantability and fitness for particular purpose. IBM shall in no way be liable for the failure of attendee's products to achieve their desired results. You agree not to disclose to IBM any confidential information of your or a third party, and that any information disclosed by you to IBM shall be deemed non-confidential.