Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Hidden Anchor Point for an IBM OS/2 Intra-Process Data Areas and Control Blocks for an Application Interface

IP.com Disclosure Number: IPCOM000034845D
Original Publication Date: 1989-Apr-01
Included in the Prior Art Database: 2005-Jan-27
Document File: 1 page(s) / 12K

Publishing Venue

IBM

Related People

Devany, EP: AUTHOR [+3]

Abstract

Disclosed is a method that allows a system service consisting of a set of IBM OS/2 Dynamic Linked routines to establish a data area that is shared between the routines within an OS/2 process. The data area is used as an anchor point for the data areas and control blocks that maintain the states of the application. The control blocks and states can then be used by the system service for subsequent calls. The application has no knowledge of the anchor point and generally cannot tamper with it. IBM OS/2 allows system services to be packaged and shipped in multiple Dynamic Link Libraries. Each Dynamic Link Library contains separate data areas that are available only to a member of that Dynamic Link Library and not to members of any other Dynamic Link Library.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 75% of the total text.

Page 1 of 1

Hidden Anchor Point for an IBM OS/2 Intra-Process Data Areas and Control Blocks for an Application Interface

Disclosed is a method that allows a system service consisting of a set of IBM OS/2 Dynamic Linked routines to establish a data area that is shared between the routines within an OS/2 process. The data area is used as an anchor point for the data areas and control blocks that maintain the states of the application. The control blocks and states can then be used by the system service for subsequent calls. The application has no knowledge of the anchor point and generally cannot tamper with it. IBM OS/2 allows system services to be packaged and shipped in multiple Dynamic Link Libraries. Each Dynamic Link Library contains separate data areas that are available only to a member of that Dynamic Link Library and not to members of any other Dynamic Link Library. This creates a problem when routines of one Dynamic Link Library needs to communicate with routines within another Dynamic Link Library within the same process. Using the standard C 'extern' does not work because the addressability of the 'extern' data areas are established when the routines are linked together using the OS/2 Link function. The routines of a Dynamic Link Library are linked together exclusive of the routines in other libraries. Thus, a reference to an extern that is contained in another Dynamic Link Library remains unresolved at link time (which is an error). Using just C and the OS/2 Link...