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'.
29 lines
629 B
C
29 lines
629 B
C
/* 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
|