summaryrefslogtreecommitdiffstats
path: root/private/crt32/stdio/i386/cinittmp.asm
blob: de1c4854acd43c7895cad01ae0dd33028057daf9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
	page	,132
	title	cinittmp - C Run-Time Terminator for temp file functions
;***
;cinittmp.asm - WIN32 C Run-Time Terminator for the temporary file function
;
;	Copyright (c) 1992, Microsoft Corporation. All rights reserved.
;
;Purpose:
;	Termination entry for the tmpnam() and _tempnam() functions
;
;Notes:
;	The three global variables included here are referenced by tmpnam()
;	and _tempnam() and will force the inclusion this module and _rmtmp()
;	if either of tmpnam() or _tempnam() is used.  This module places the
;	address of _rmtmp() in the terminator table.
;
;Revision History:
;	03-19-92  SKS	Module created.
;	03-24-92  SKS	Added MIPS support (NO_UNDERSCORE)
;	04-29-92  SKS	Changed erroneous XP$C to XP$X
;	04-30-92  SKS	Add "offset FLAT:" to get correct fixups for OMF objs
;	08-06-92  SKS	Revised to use new section names and macros
;
;*******************************************************************************

.xlist
include cruntime.inc
include defsects.inc
.list

ifndef	_WIN32_
.err
%out _WIN32_ MUST be defined!
endif


ifndef	NO_UNDERSCORE	; I386 VERSION *************************


	extrn	_rmtmp:NEAR


beginSection	XPX

	dd	offset FLAT: _rmtmp

endSection	XPX


	.DATA
;*
;* Definitions for _tmpoff, _tempoff and _old_pfxlen. These will cause this
;* module to be linked in whenever the termination code needs it.
;*

	public	_tmpoff, _tempoff, _old_pfxlen

_tmpoff		dd	1
_tempoff	dd	1
_old_pfxlen	dd	0


else ;	NO_UNDERSCORE	; MIPS VERSION *************************


	extrn	rmtmp:NEAR


beginSection	XPX

	dd	offset FLAT: rmtmp

endSection	XPX


	.DATA
;*
;* Definitions for _tmpoff, _tempoff and _old_pfxlen. These will cause this
;* module to be linked in whenever the termination code needs it.
;*

	public	tmpoff, tempoff, old_pfxlen

tmpoff		dd	1
tempoff 	dd	1
old_pfxlen	dd	0


endif ; NO_UNDERSCORE	; **** VERSION *************************


	end