Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
984f3d96
Commit
984f3d96
authored
May 30, 2000
by
Andreas Mohr
Committed by
Alexandre Julliard
May 30, 2000
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Implemented int 0x21 long file name function 0x71a0: Get Volume Info.
parent
2f50f0db
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
40 additions
and
7 deletions
+40
-7
int21.c
msdos/int21.c
+40
-7
No files found.
msdos/int21.c
View file @
984f3d96
...
...
@@ -1564,7 +1564,7 @@ void WINAPI DOS3Call( CONTEXT86 *context )
break
;
case
0x41
:
/* "UNLINK" - DELETE FILE */
TRACE
(
"UNLINK%s
\n
"
,
TRACE
(
"UNLINK
%s
\n
"
,
(
LPCSTR
)
CTX_SEG_OFF_TO_LIN
(
context
,
DS_reg
(
context
),
EDX_reg
(
context
)));
bSetDOSExtendedError
=
(
!
DeleteFileA
(
CTX_SEG_OFF_TO_LIN
(
context
,
DS_reg
(
context
),
EDX_reg
(
context
)
)));
...
...
@@ -1610,7 +1610,7 @@ void WINAPI DOS3Call( CONTEXT86 *context )
CX_reg
(
context
)
));
break
;
case
0x02
:
TRAC
E
(
"GET COMPRESSED FILE SIZE for %s stub
\n
"
,
FIXM
E
(
"GET COMPRESSED FILE SIZE for %s stub
\n
"
,
(
LPCSTR
)
CTX_SEG_OFF_TO_LIN
(
context
,
DS_reg
(
context
),
EDX_reg
(
context
)));
}
break
;
...
...
@@ -2217,15 +2217,48 @@ void WINAPI DOS3Call( CONTEXT86 *context )
EDI_reg
(
context
))))
bSetDOSExtendedError
=
TRUE
;
break
;
case
0xa0
:
{
LPCSTR
driveroot
=
(
LPCSTR
)
CTX_SEG_OFF_TO_LIN
(
context
,
DS_reg
(
context
),
EDX_reg
(
context
));
LPSTR
buffer
=
(
LPSTR
)
CTX_SEG_OFF_TO_LIN
(
context
,
ES_reg
(
context
),
EDI_reg
(
context
));
int
drive
;
UINT
flags
;
TRACE
(
"LONG FILENAME - GET VOLUME INFORMATION for drive having root dir '%s'.
\n
"
,
driveroot
);
AX_reg
(
context
)
=
0
;
if
(
!
driveroot
)
{
INT_BARF
(
context
,
0x21
);
SET_CFLAG
(
context
);
break
;
}
drive
=
toupper
(
driveroot
[
0
])
-
'A'
;
flags
=
DRIVE_GetFlags
(
toupper
(
driveroot
[
0
])
-
'A'
);
BX_reg
(
context
)
=
0x4000
;
/* support for LFN functions */
if
(
flags
&
DRIVE_CASE_SENSITIVE
)
BX_reg
(
context
)
|=
1
;
if
(
flags
&
DRIVE_CASE_PRESERVING
)
BX_reg
(
context
)
|=
2
;
/***** FIXME: not supported yet (needed ?)
if (flags & DRIVE_UNICODE)
BX_reg(context) |= 4;
if (flags & DRIVE_COMPRESSED)
BX_reg(context) |= 0x8000;
*****/
CX_reg
(
context
)
=
(
flags
&
DRIVE_SHORT_NAMES
)
?
11
:
255
;
/* FIXME: 12 ? */
DX_reg
(
context
)
=
MAX_PATH
;
/* FIXME: which len if DRIVE_SHORT_NAMES ? */
if
(
DRIVE_GetType
(
drive
)
==
TYPE_CDROM
)
/* valid for data _and_ audio */
strcpy
(
buffer
,
"CDFS"
);
/* FIXME: fail if no CD in drive */
else
strcpy
(
buffer
,
"FAT"
);
}
break
;
case
0xa1
:
/* Find close */
TRACE
(
"LONG FILENAME - FINDCLOSE for handle %d
\n
"
,
BX_reg
(
context
));
bSetDOSExtendedError
=
(
!
FindClose16
(
BX_reg
(
context
)
));
break
;
case
0xa0
:
TRACE
(
"LONG FILENAME - GET VOLUME INFORMATION for drive %s stub
\n
"
,
(
LPCSTR
)
CTX_SEG_OFF_TO_LIN
(
context
,
DS_reg
(
context
),
EDX_reg
(
context
)));
break
;
case
0x60
:
switch
(
CL_reg
(
context
))
{
...
...
@@ -2286,7 +2319,7 @@ void WINAPI DOS3Call( CONTEXT86 *context )
}
break
;
case
0x56
:
/* Move (rename) file */
TRAC
E
(
"LONG FILENAME - RENAME FILE %s to %s stub
\n
"
,
FIXM
E
(
"LONG FILENAME - RENAME FILE %s to %s stub
\n
"
,
(
LPCSTR
)
CTX_SEG_OFF_TO_LIN
(
context
,
DS_reg
(
context
),
EDX_reg
(
context
)),
(
LPCSTR
)
CTX_SEG_OFF_TO_LIN
(
context
,
ES_reg
(
context
),
EDI_reg
(
context
)));
default:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment