* shortcut.c: New file. Provides a C interface to reading of
Windows shortcuts to avoid compiler flag `-fvtable-thunks'. * shortcut.h: Ditto. * Makefile.in: Add shortcut.o to DLL_OFILES. * cygerrno.h: Provide a C interface to `geterrno_from_win_error' for using in shortcut.c. * errno.cc (geterrno_from_win_error): Define as extern "C". * path.cc (struct symlink_info): Remove methods `check_shortcut' and `check_sysfile'. (shortcut_header): Move to shortcut.c. (shortcut_initalized): Ditto. (create_shortcut_header): Ditto. (cmp_shortcut_header): Ditto. (symlink_info::check_shortcut): Ditto. Reorganize as a plain C function. (symlink_info::check_sysfile): Redefine as a global function using the same parameter list as `check_shortcut' for clearness. (symlink_info::check): Change parameter list for calls to `check_shortcut' and `check_sysfile'.
This commit is contained in:
28
winsup/cygwin/shortcut.h
Normal file
28
winsup/cygwin/shortcut.h
Normal file
@@ -0,0 +1,28 @@
|
||||
/* shortcut.h: Hader file for shortcut.c
|
||||
|
||||
Copyright 2001 Red Hat, Inc.
|
||||
|
||||
This file is part of Cygwin.
|
||||
|
||||
This software is a copyrighted work licensed under the terms of the
|
||||
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
|
||||
details. */
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* The header written to a shortcut by Cygwin or U/WIN. */
|
||||
#define SHORTCUT_HDR_SIZE 76
|
||||
|
||||
extern char shortcut_header[];
|
||||
extern BOOL shortcut_initalized;
|
||||
|
||||
extern void create_shortcut_header ();
|
||||
|
||||
int check_shortcut (const char *path, DWORD fileattr, HANDLE h,
|
||||
char *contents, int *error, unsigned *pflags);
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
Reference in New Issue
Block a user