|
|
1.1 root 1: /*
2: * dynlib2.c
3: *
4: * Created 17 August 1987 by Kevin Ruddell, Microsoft Corp
5: *
6: * Dynamic link library demo module with shared data.
7: *
8: */
9:
10: #include <doscalls.h>
11: #include "dynlib.h" /* calling conventions */
12:
13: unsigned count=0; /* shared process count */
14:
15: int far pascal /* This routine is called by the initialization */
16: initroutine() /* asm module to actually do the per-process */
17: /* initialization. */
18: {
19: static char beg[]="I am number ";
20: static char First[]="First time initialization.\n\r";
21: static char NotFirst[]="Not first time initialization.\n\r";
22: char c;
23: int Written=0;
24:
25: if (count++ == 0)
26: {
27: DOSWRITE(1, First, sizeof(First)-1, &Written); /* first time */
28: }
29: else
30: {
31: DOSWRITE(1, NotFirst, sizeof(NotFirst)-1, &Written); /* not first */
32: }
33: DOSWRITE(1, beg, sizeof(beg)-1, &Written); /* show new count */
34: c = count + '0';
35: DOSWRITE(1, &c, sizeof(char), &Written);
36: DOSWRITE(1, ".\n\r", 3, &Written);
37: INIT_ID( (unsigned far *) &count); /* store count as id */
38: /* and pointer to count */
39: return(1); /* indicate success */
40: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.