FARGOS/VISTA Object Management Environment Core  ..
FARGOS/VISTA Object Management Environment Core Table of Contents
mapped_file.h
Go to the documentation of this file.
1 /* Copyright (C) 2011 - 2020 FARGOS Development, LLC */
2 #ifndef _MAPPED_FILE_H_
3 #define _MAPPED_FILE_H_ "$Id"
5 
7 #ifdef _WIN32
8 #include <winsock2.h>
9 #include <windows.h>
10 #endif
11 
12 #include <stdint.h>
13 
14 #ifdef __cplusplus
15 
28 extern "C" {
29 #endif
30 
31 #define FILENAME_WITH_DATE 1
32 #define FILENAME_WITH_PID 2
33 #define FILENAME_WITH_DATE_AND_PID 3
34 #define FILENAME_WITH_TIME 4
35 #define FILENAME_WITH_DATE_AND_TIME 5
36 #define FILENAME_WITH_HOST 8
37 #define FILENAME_ADD_DIR_PREFIX 16
38 #define FILENAME_WITH_EVERYTHING ~0
57 uint_fast32_t makeQualifiedFileName(char *fileName, uint_fast32_t fileNameLen,
58  const char *componentName, const char *suffix,
59  const char *dirName, uint_fast32_t flags);
60 
61 /* TODO: add argument for options like:
62  * always zero out file?
63  * zero out to full length on initial create?
64  */
65 
66 #define MAP_FILE_READONLY 0
67 #define MAP_FILE_READWRITE 1
68 #define MAP_FILE_RESET 2
69 #define MAP_FILE_INIT 3
76 #ifndef _WIN32
77 size_t zeroFileContents(int descriptor, size_t fileLength);
78 #else
79 size_t zeroFileContents(HANDLE handle, size_t fileLength);
80 #endif
81 
107 #ifndef _WIN32
108 int createMappedFile(unsigned char **segment, const char *fileName,
109  size_t *segmentLenPtr, uint_fast32_t doInit);
110 #else
111 HANDLE createMappedFile(unsigned char **segment, const char *fileName,
112  size_t *segmentLenPtr, uint_fast32_t doInit);
113 #endif
114 
115 
131 int expand_symlinks(char *resultPath, const uint_fast32_t bfrLen,
132  const char *priorPath, uint_fast32_t priorLen, bool mustExist);
133 
150 int findFileInPath(char *resultFile, uint_fast32_t resultBfrLen,
151  const char *desiredFile, const char *searchPath, const char *suffix="");
152 
153 
154 #ifdef __cplusplus
155 }; /* close extern "C" scope */
156 #endif
157 
161 #endif
162 
163 /* vim: set expandtab shiftwidth=4 tabstop=4: */
MAP_FILE_RESET
#define MAP_FILE_RESET
Definition: mapped_file.h:68
findFileInPath
int findFileInPath(char *resultFile, uint_fast32_t resultBfrLen, const char *file, const char *searchPath, const char *suffix)
Search for file under colon-separated path.
Definition: mapped_file.cpp:565
get_time.h
Time acquisition routines.
expand_symlinks
int expand_symlinks(char *resultPath, const uint_fast32_t bfrLen, const char *priorPath, uint_fast32_t priorLen, bool mustExist)
Expand a path with symbolic links into its true name.
Definition: mapped_file.cpp:473
s
const char s[]
Definition: t.cpp:4
TimeAsDayAndYear::year
uint16_t year
Definition: get_time.h:31
FILENAME_WITH_TIME
#define FILENAME_WITH_TIME
Definition: mapped_file.h:34
TimeAsDayAndYear::month
unsigned char month
Definition: get_time.h:32
INVALID_HANDLE_VALUE
#define INVALID_HANDLE_VALUE
Definition: poll_monitor.hpp:19
MAP_FILE_READWRITE
#define MAP_FILE_READWRITE
Definition: mapped_file.h:67
FILENAME_ADD_DIR_PREFIX
#define FILENAME_ADD_DIR_PREFIX
Definition: mapped_file.h:37
srcID
const char srcID[]
Definition: catSym.c:17
TimeAsHourMinSec
Structure for representing time of day.
Definition: get_time.h:37
TimeAsDayAndYear::day
unsigned char day
Definition: get_time.h:33
getTodaysDate
const struct TimeAsDayAndYear * getTodaysDate(struct TimeAsHourMinSec *nowTimeFields)
Get today's date.
Definition: get_time.cpp:33
mapped_file.h
FILENAME_WITH_PID
#define FILENAME_WITH_PID
Definition: mapped_file.h:32
OME_EXPECT_TRUE
#define OME_EXPECT_TRUE(expr)
Annotation macro for conditional expression expected to be true.
Definition: compiler_hints.h:541
NULL
#define NULL
Definition: tmp.o.cpp:327
FILENAME_WITH_DATE
#define FILENAME_WITH_DATE
Definition: mapped_file.h:31
createMappedFile
int createMappedFile(unsigned char **segment, const char *fileName, size_t *segmentLenPtr, uint_fast32_t doInit)
Create or open a mapped file with the specified file name.
Definition: mapped_file.cpp:207
TimeAsHourMinSec::sec
unsigned char sec
Definition: get_time.h:40
OME_USED
const char srcID[] OME_USED
Definition: tick_time.cpp:24
flags
int flags
Definition: ethers.c:41
errno
int errno
Definition: ethers.c:41
compiler_hints.h
Compiler-specific macros to provide performance-related hints.
F_OK
#define F_OK
Definition: tmp.o.cpp:201
MAX_PATH_ELEMENTS
#define MAX_PATH_ELEMENTS
Definition: mapped_file.cpp:29
TimeAsHourMinSec::min
unsigned char min
Definition: get_time.h:39
makeQualifiedFileName
uint_fast32_t makeQualifiedFileName(char *fileName, uint_fast32_t fileNameLen, const char *componentName, const char *suffix, const char *dirName, uint_fast32_t flags)
Create a filename and optionally qualify with the current date and process Id.
Definition: mapped_file.cpp:98
FILENAME_WITH_HOST
#define FILENAME_WITH_HOST
Definition: mapped_file.h:36
zeroFileContents
size_t zeroFileContents(int descriptor, size_t fileLength)
Write out zero-filled blocks to a file.
Definition: mapped_file.cpp:178
TimeAsHourMinSec::hour
unsigned char hour
Definition: get_time.h:38
TimeAsDayAndYear
Structure for representing day-of-the-year.
Definition: get_time.h:30
Generated: Fri Jul 31 2020 18:19:14
Support Information