Index: mojo/services/files/public/c/mojio_stdio.h |
diff --git a/mojo/services/files/public/c/mojio_stdio.h b/mojo/services/files/public/c/mojio_stdio.h |
deleted file mode 100644 |
index 3caad0946a99694cfdf2e8a03ce29328e4adb792..0000000000000000000000000000000000000000 |
--- a/mojo/services/files/public/c/mojio_stdio.h |
+++ /dev/null |
@@ -1,203 +0,0 @@ |
-// Copyright 2015 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-// <stdio.h>-lookalike-ish. Note that this is a C header, so that crappy (and |
-// non-crappy) C programs can use it. |
-// |
-// In general, functions/types/macros are given "mojio_"/"MOJIO_"/etc. prefixes. |
-// There are a handful of exceptions (noted below). |
-// |
-// One should be able to have a drop-in <stdio.h> replacement using just (C99) |
-// inline functions, typedefs, and macro definitions. (For "native" apps, doing |
-// so in C is somewhat problematic, due to conflicts with the "native" C |
-// library.) |
-// |
-// TODO(vtl): The lack of |restrict|s in certain functions is slightly |
-// mysterious to me, but it's consistent with glibc. I don't know what the |
-// standard specifies. |
- |
-#ifndef MOJO_SERVICES_FILES_PUBLIC_C_MOJIO_STDIO_H_ |
-#define MOJO_SERVICES_FILES_PUBLIC_C_MOJIO_STDIO_H_ |
- |
-// Includes -------------------------------------------------------------------- |
- |
-// We need |va_list|. |
-#include <stdarg.h> |
- |
-// <stdio.h> is required to define |NULL| (as a macro) and |size_t|. We don't |
-// define our own (with prefixes), and just use the standard ones from |
-// <stddef.h>. |
-#include <stddef.h> |
- |
-#include "files/public/c/mojio_config.h" |
- |
-// Macros ---------------------------------------------------------------------- |
- |
-// Default buffer size. |
-#define MOJIO_BUFSIZ MOJIO_CONFIG_BUFSIZ |
- |
-// |EOF|: -1 in the known universe. Probably nothing would work if different. |
-#define MOJIO_EOF (-1) |
- |
-// Recommended size for arrays meant to hold a filename. |
-#define MOJIO_FILENAME_MAX MOJIO_CONFIG_FILENAME_MAX |
- |
-// Supposed maximum number of files opened simultaneously. May be a total lie. |
-#define MOJIO_FOPEN_MAX MOJIO_CONFIG_FOPEN_MAX |
- |
-// Minimum size needed for |mojio_tmpnam()| (includes terminating null). |
-#define MOJIO_L_tmpnam 20 |
- |
-// Minimum number of unique names guaranteed possible from |mojio_tmpnam()|. |
-// (Note: This is (2*26+10)^3, in case you're wondering.) |
-#define MOJIO_TMP_MAX 238328 |
- |
-// "Whence". These are duplicated (verbatim) in mojio_unistd.h. |
-#define MOJIO_SEEK_SET 0 |
-#define MOJIO_SEEK_CUR 1 |
-#define MOJIO_SEEK_END 2 |
- |
-// For |mojio_setvbuf()| (excuse the extra underscores). |
-#define MOJIO__IOFBF |
-#define MOJIO__IOLBF |
-#define MOJIO__IONBF |
- |
-// |stdin|/|stdout|/|stderr| are actually required to be macros. Haha. (We |
-// actually define globals further below.) It's actually somewhat reasonable: |
-// it'd allow one to make a <stdio.h> from this by defining |stdin| to be |
-// |mojio_stdin|, etc. |
-#define mojio_stdin mojio_stdin |
-#define mojio_stdout mojio_stdout |
-#define mojio_stderr mojio_stderr |
- |
-// Types ----------------------------------------------------------------------- |
- |
-// <stdio.h> is required to define two types in addition to |size_t|: |
- |
-// |FILE| is fully opaque (but must be a typedef) -- only |FILE*|s are ever |
-// used. |
-typedef struct MojioFileImpl MOJIO_FILE; |
- |
-// |fpos_t| is supposedly opaque (e.g., could theoretically be a struct), but |
-// callers must be able to declare instances. |
-typedef mojio_config_int64 mojio_fpos_t; |
- |
-// Functions ------------------------------------------------------------------- |
- |
-#ifdef __cplusplus |
-extern "C" { |
-#endif |
- |
-// TODO(vtl): None of the things below are implemented yet. |
- |
-// Operations on files: |
-int mojio_remove(const char* filename); |
-int mojio_rename(const char* oldname, const char* newname); |
-MOJIO_FILE* mojio_tmpfile(void); |
-char* mojio_tmpnam(char* s); |
- |
-// File access: |
-int mojio_fclose(MOJIO_FILE* stream); |
-int mojio_fflush(MOJIO_FILE* stream); |
-MOJIO_FILE* mojio_fopen(const char* MOJIO_CONFIG_RESTRICT filename, |
- const char* MOJIO_CONFIG_RESTRICT mode); |
-MOJIO_FILE* mojio_freopen(const char* MOJIO_CONFIG_RESTRICT filename, |
- const char* MOJIO_CONFIG_RESTRICT mode, |
- MOJIO_FILE* MOJIO_CONFIG_RESTRICT stream); |
-void mojio_setbuf(MOJIO_FILE* MOJIO_CONFIG_RESTRICT stream, |
- char* MOJIO_CONFIG_RESTRICT buffer); |
-int mojio_setvbuf(MOJIO_FILE* MOJIO_CONFIG_RESTRICT stream, |
- char* MOJIO_CONFIG_RESTRICT buffer, |
- int mode, |
- size_t size); |
- |
-// Formatted input/output: |
-int mojio_fprintf(MOJIO_FILE* MOJIO_CONFIG_RESTRICT stream, |
- const char* MOJIO_CONFIG_RESTRICT format, |
- ...); |
-int mojio_fscanf(MOJIO_FILE* MOJIO_CONFIG_RESTRICT stream, |
- const char* MOJIO_CONFIG_RESTRICT format, |
- ...); |
-int mojio_printf(const char* MOJIO_CONFIG_RESTRICT format, ...); |
-int mojio_scanf(const char* MOJIO_CONFIG_RESTRICT format, ...); |
-int mojio_snprintf(char* MOJIO_CONFIG_RESTRICT s, |
- size_t n, |
- const char* MOJIO_CONFIG_RESTRICT format, |
- ...); |
-int mojio_sprintf(char* MOJIO_CONFIG_RESTRICT s, |
- const char* MOJIO_CONFIG_RESTRICT format, |
- ...); |
-int mojio_sscanf(const char* MOJIO_CONFIG_RESTRICT s, |
- const char* MOJIO_CONFIG_RESTRICT format, |
- ...); |
-int mojio_vfprintf(MOJIO_FILE* MOJIO_CONFIG_RESTRICT stream, |
- const char* MOJIO_CONFIG_RESTRICT format, |
- va_list arg); |
-int mojio_vfscanf(MOJIO_FILE* MOJIO_CONFIG_RESTRICT stream, |
- const char* MOJIO_CONFIG_RESTRICT format, |
- va_list arg); |
-int mojio_vprintf(const char* MOJIO_CONFIG_RESTRICT format, va_list arg); |
-int mojio_vscanf(const char* MOJIO_CONFIG_RESTRICT format, va_list arg); |
-int mojio_vsnprintf(char* MOJIO_CONFIG_RESTRICT s, |
- size_t n, |
- const char* MOJIO_CONFIG_RESTRICT format, |
- va_list arg); |
-int mojio_vsprintf(char* MOJIO_CONFIG_RESTRICT s, |
- const char* MOJIO_CONFIG_RESTRICT format, |
- va_list arg); |
-int mojio_vsscanf(const char* MOJIO_CONFIG_RESTRICT s, |
- const char* MOJIO_CONFIG_RESTRICT format, |
- va_list arg); |
- |
-// Character input/output: |
-int mojio_fgetc(MOJIO_FILE* stream); |
-char* mojio_fgets(char* MOJIO_CONFIG_RESTRICT s, |
- int n, |
- MOJIO_FILE* MOJIO_CONFIG_RESTRICT stream); |
-int mojio_fputc(int c, MOJIO_FILE* stream); |
-int mojio_fputs(const char* MOJIO_CONFIG_RESTRICT s, |
- MOJIO_FILE* MOJIO_CONFIG_RESTRICT stream); |
-int mojio_getc(MOJIO_FILE* stream); |
-int mojio_getchar(void); |
-char* mojio_gets(char* s); |
-int mojio_putc(int c, MOJIO_FILE* stream); |
-int mojio_putchar(int c); |
-int mojio_puts(const char* s); |
-int mojio_ungetc(int c, MOJIO_FILE* stream); |
- |
-// Direct input/output: |
-size_t mojio_fread(void* MOJIO_CONFIG_RESTRICT ptr, |
- size_t size, |
- size_t nmemb, |
- MOJIO_FILE* MOJIO_CONFIG_RESTRICT stream); |
-size_t mojio_fwrite(const void* MOJIO_CONFIG_RESTRICT ptr, |
- size_t size, |
- size_t nmemb, |
- MOJIO_FILE* MOJIO_CONFIG_RESTRICT stream); |
- |
-// File positioning: |
-int mojio_fgetpos(MOJIO_FILE* MOJIO_CONFIG_RESTRICT stream, |
- fpos_t* MOJIO_CONFIG_RESTRICT pos); |
-int mojio_fseek(MOJIO_FILE* stream, long offset, int whence); |
-int mojio_fsetpos(MOJIO_FILE* stream, const fpos_t* pos); |
-long mojio_ftell(MOJIO_FILE* stream); |
-void mojio_rewind(MOJIO_FILE* stream); |
- |
-// Error-handling: |
-void mojio_clearerr(MOJIO_FILE* stream); |
-int mojio_feof(MOJIO_FILE* stream); |
-int mojio_ferror(MOJIO_FILE* stream); |
-void mojio_perror(const char* s); |
- |
-// Globals --------------------------------------------------------------------- |
- |
-extern MOJIO_FILE* mojio_stdin; |
-extern MOJIO_FILE* mojio_stdout; |
-extern MOJIO_FILE* mojio_stderr; |
- |
-#ifdef __cplusplus |
-} // extern "C" |
-#endif |
- |
-#endif // MOJO_SERVICES_FILES_PUBLIC_C_MOJIO_STDIO_H_ |