mirror of
https://github.com/reactos/reactos.git
synced 2024-08-18 01:18:56 +00:00
![Colin Finck](/assets/img/avatar_default.png)
This finally fixes our duplicated getopt functions from different sources and gives us an up to date and the most compatible implementation. isohybrid actually relies on a glibc-specific getopt behavior that we previously hacked into the reactos_support_code.c implementation derived from BSD/mingw-w64. widl also needs getopt and previously used an even older BSD-derived code.
47 lines
966 B
C
47 lines
966 B
C
#ifndef _REACTOS_SUPPORT_CODE_H
|
|
#define _REACTOS_SUPPORT_CODE_H
|
|
|
|
#include <stdarg.h>
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
|
|
#ifdef _WIN32
|
|
#include <malloc.h>
|
|
#include <windows.h>
|
|
#include <process.h>
|
|
#include <io.h>
|
|
#else
|
|
#include <alloca.h>
|
|
#include <unistd.h>
|
|
#endif
|
|
|
|
#include "../port/port.h"
|
|
|
|
// isotypes.h would provide these, but it's not available on MSVC < 2013.
|
|
typedef unsigned char uint8_t;
|
|
typedef unsigned short uint16_t;
|
|
typedef unsigned int uint32_t;
|
|
typedef unsigned long long uint64_t;
|
|
|
|
void isohybrid_error(int eval, const char* fmt, ...);
|
|
void isohybrid_warning(const char* fmt, ...);
|
|
|
|
#define err(...) isohybrid_error(__VA_ARGS__)
|
|
#define errx(...) isohybrid_error(__VA_ARGS__)
|
|
#define warn(...) isohybrid_warning(__VA_ARGS__)
|
|
#define warnx(...) isohybrid_warning(__VA_ARGS__)
|
|
|
|
|
|
#ifdef _WIN32
|
|
int fsync(int fd);
|
|
int getppid(void);
|
|
#endif
|
|
|
|
#ifdef _MSC_VER
|
|
#define fseeko _fseeki64
|
|
#define ftruncate _chsize
|
|
#endif
|
|
|
|
#endif
|