HDFS-7879. hdfs.dll does not export functions of the public libhdfs API. Contributed by Chris Nauroth.
This commit is contained in:
parent
c24448c27b
commit
d020544ef6
|
@ -780,6 +780,9 @@ Release 2.7.0 - UNRELEASED
|
||||||
HDFS-7869. Inconsistency in the return information while performing rolling
|
HDFS-7869. Inconsistency in the return information while performing rolling
|
||||||
upgrade ( J.Andreina via vinayakumarb )
|
upgrade ( J.Andreina via vinayakumarb )
|
||||||
|
|
||||||
|
HDFS-7879. hdfs.dll does not export functions of the public libhdfs API.
|
||||||
|
(Chris Nauroth via wheat9)
|
||||||
|
|
||||||
BREAKDOWN OF HDFS-7584 SUBTASKS AND RELATED JIRAS
|
BREAKDOWN OF HDFS-7584 SUBTASKS AND RELATED JIRAS
|
||||||
|
|
||||||
HDFS-7720. Quota by Storage Type API, tools and ClientNameNode
|
HDFS-7720. Quota by Storage Type API, tools and ClientNameNode
|
||||||
|
|
|
@ -27,7 +27,15 @@ include(../../../hadoop-common-project/hadoop-common/src/JNIFlags.cmake NO_POLIC
|
||||||
function(add_dual_library LIBNAME)
|
function(add_dual_library LIBNAME)
|
||||||
add_library(${LIBNAME} SHARED ${ARGN})
|
add_library(${LIBNAME} SHARED ${ARGN})
|
||||||
add_library(${LIBNAME}_static STATIC ${ARGN})
|
add_library(${LIBNAME}_static STATIC ${ARGN})
|
||||||
set_target_properties(${LIBNAME}_static PROPERTIES OUTPUT_NAME ${LIBNAME})
|
# Linux builds traditionally ship a libhdfs.a (static linking) and libhdfs.so
|
||||||
|
# (dynamic linking). On Windows, we cannot use the same base name for both
|
||||||
|
# static and dynamic, because Windows does not use distinct file extensions
|
||||||
|
# for a statically linked library vs. a DLL import library. Both use the
|
||||||
|
# .lib extension. On Windows, we'll build the static library as
|
||||||
|
# hdfs_static.lib.
|
||||||
|
if (NOT WIN32)
|
||||||
|
set_target_properties(${LIBNAME}_static PROPERTIES OUTPUT_NAME ${LIBNAME})
|
||||||
|
endif (NOT WIN32)
|
||||||
endfunction(add_dual_library)
|
endfunction(add_dual_library)
|
||||||
|
|
||||||
# Link both a static and a dynamic target against some libraries
|
# Link both a static and a dynamic target against some libraries
|
||||||
|
@ -105,11 +113,14 @@ else (WIN32)
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -Wall -O2")
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -Wall -O2")
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_REENTRANT -D_GNU_SOURCE")
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_REENTRANT -D_GNU_SOURCE")
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64")
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64")
|
||||||
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden")
|
||||||
set(OS_DIR main/native/libhdfs/os/posix)
|
set(OS_DIR main/native/libhdfs/os/posix)
|
||||||
set(OS_LINK_LIBRARIES pthread)
|
set(OS_LINK_LIBRARIES pthread)
|
||||||
set(OUT_DIR target/usr/local/lib)
|
set(OUT_DIR target/usr/local/lib)
|
||||||
endif (WIN32)
|
endif (WIN32)
|
||||||
|
|
||||||
|
add_definitions(-DLIBHDFS_DLL_EXPORT)
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
${GENERATED_JAVAH}
|
${GENERATED_JAVAH}
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}
|
${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
|
@ -150,7 +161,7 @@ add_executable(test_libhdfs_ops
|
||||||
main/native/libhdfs/test/test_libhdfs_ops.c
|
main/native/libhdfs/test/test_libhdfs_ops.c
|
||||||
)
|
)
|
||||||
target_link_libraries(test_libhdfs_ops
|
target_link_libraries(test_libhdfs_ops
|
||||||
hdfs
|
hdfs_static
|
||||||
${JAVA_JVM_LIBRARY}
|
${JAVA_JVM_LIBRARY}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -158,7 +169,7 @@ add_executable(test_libhdfs_read
|
||||||
main/native/libhdfs/test/test_libhdfs_read.c
|
main/native/libhdfs/test/test_libhdfs_read.c
|
||||||
)
|
)
|
||||||
target_link_libraries(test_libhdfs_read
|
target_link_libraries(test_libhdfs_read
|
||||||
hdfs
|
hdfs_static
|
||||||
${JAVA_JVM_LIBRARY}
|
${JAVA_JVM_LIBRARY}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -166,7 +177,7 @@ add_executable(test_libhdfs_write
|
||||||
main/native/libhdfs/test/test_libhdfs_write.c
|
main/native/libhdfs/test/test_libhdfs_write.c
|
||||||
)
|
)
|
||||||
target_link_libraries(test_libhdfs_write
|
target_link_libraries(test_libhdfs_write
|
||||||
hdfs
|
hdfs_static
|
||||||
${JAVA_JVM_LIBRARY}
|
${JAVA_JVM_LIBRARY}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -196,7 +207,7 @@ add_executable(test_libhdfs_threaded
|
||||||
${OS_DIR}/thread.c
|
${OS_DIR}/thread.c
|
||||||
)
|
)
|
||||||
target_link_libraries(test_libhdfs_threaded
|
target_link_libraries(test_libhdfs_threaded
|
||||||
hdfs
|
hdfs_static
|
||||||
native_mini_dfs
|
native_mini_dfs
|
||||||
${OS_LINK_LIBRARIES}
|
${OS_LINK_LIBRARIES}
|
||||||
)
|
)
|
||||||
|
@ -206,7 +217,7 @@ add_executable(test_libhdfs_zerocopy
|
||||||
main/native/libhdfs/test/test_libhdfs_zerocopy.c
|
main/native/libhdfs/test/test_libhdfs_zerocopy.c
|
||||||
)
|
)
|
||||||
target_link_libraries(test_libhdfs_zerocopy
|
target_link_libraries(test_libhdfs_zerocopy
|
||||||
hdfs
|
hdfs_static
|
||||||
native_mini_dfs
|
native_mini_dfs
|
||||||
${OS_LINK_LIBRARIES}
|
${OS_LINK_LIBRARIES}
|
||||||
)
|
)
|
||||||
|
|
|
@ -24,6 +24,30 @@
|
||||||
#include <stdint.h> /* for uint64_t, etc. */
|
#include <stdint.h> /* for uint64_t, etc. */
|
||||||
#include <time.h> /* for time_t */
|
#include <time.h> /* for time_t */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Support export of DLL symbols during libhdfs build, and import of DLL symbols
|
||||||
|
* during client application build. A client application may optionally define
|
||||||
|
* symbol LIBHDFS_DLL_IMPORT in its build. This is not strictly required, but
|
||||||
|
* the compiler can produce more efficient code with it.
|
||||||
|
*/
|
||||||
|
#ifdef WIN32
|
||||||
|
#ifdef LIBHDFS_DLL_EXPORT
|
||||||
|
#define LIBHDFS_EXTERNAL __declspec(dllexport)
|
||||||
|
#elif LIBHDFS_DLL_IMPORT
|
||||||
|
#define LIBHDFS_EXTERNAL __declspec(dllimport)
|
||||||
|
#else
|
||||||
|
#define LIBHDFS_EXTERNAL
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
#ifdef LIBHDFS_DLL_EXPORT
|
||||||
|
#define LIBHDFS_EXTERNAL __attribute__((visibility("default")))
|
||||||
|
#elif LIBHDFS_DLL_IMPORT
|
||||||
|
#define LIBHDFS_EXTERNAL __attribute__((visibility("default")))
|
||||||
|
#else
|
||||||
|
#define LIBHDFS_EXTERNAL
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef O_RDONLY
|
#ifndef O_RDONLY
|
||||||
#define O_RDONLY 1
|
#define O_RDONLY 1
|
||||||
#endif
|
#endif
|
||||||
|
@ -77,6 +101,7 @@ extern "C" {
|
||||||
* @param file The HDFS file
|
* @param file The HDFS file
|
||||||
* @return 1 if the file is open for read; 0 otherwise
|
* @return 1 if the file is open for read; 0 otherwise
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
int hdfsFileIsOpenForRead(hdfsFile file);
|
int hdfsFileIsOpenForRead(hdfsFile file);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -85,6 +110,7 @@ extern "C" {
|
||||||
* @param file The HDFS file
|
* @param file The HDFS file
|
||||||
* @return 1 if the file is open for write; 0 otherwise
|
* @return 1 if the file is open for write; 0 otherwise
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
int hdfsFileIsOpenForWrite(hdfsFile file);
|
int hdfsFileIsOpenForWrite(hdfsFile file);
|
||||||
|
|
||||||
struct hdfsReadStatistics {
|
struct hdfsReadStatistics {
|
||||||
|
@ -107,6 +133,7 @@ extern "C" {
|
||||||
* ENOTSUP. webhdfs, LocalFilesystem, and so forth may
|
* ENOTSUP. webhdfs, LocalFilesystem, and so forth may
|
||||||
* not support read statistics.
|
* not support read statistics.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
int hdfsFileGetReadStatistics(hdfsFile file,
|
int hdfsFileGetReadStatistics(hdfsFile file,
|
||||||
struct hdfsReadStatistics **stats);
|
struct hdfsReadStatistics **stats);
|
||||||
|
|
||||||
|
@ -115,6 +142,7 @@ extern "C" {
|
||||||
*
|
*
|
||||||
* @return the number of remote bytes read.
|
* @return the number of remote bytes read.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
int64_t hdfsReadStatisticsGetRemoteBytesRead(
|
int64_t hdfsReadStatisticsGetRemoteBytesRead(
|
||||||
const struct hdfsReadStatistics *stats);
|
const struct hdfsReadStatistics *stats);
|
||||||
|
|
||||||
|
@ -129,6 +157,7 @@ extern "C" {
|
||||||
* statistics.
|
* statistics.
|
||||||
* Errno will also be set to this code on failure.
|
* Errno will also be set to this code on failure.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
int hdfsFileClearReadStatistics(hdfsFile file);
|
int hdfsFileClearReadStatistics(hdfsFile file);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -136,6 +165,7 @@ extern "C" {
|
||||||
*
|
*
|
||||||
* @param stats The HDFS read statistics to free.
|
* @param stats The HDFS read statistics to free.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
void hdfsFileFreeReadStatistics(struct hdfsReadStatistics *stats);
|
void hdfsFileFreeReadStatistics(struct hdfsReadStatistics *stats);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -147,6 +177,7 @@ extern "C" {
|
||||||
* @return Returns a handle to the filesystem or NULL on error.
|
* @return Returns a handle to the filesystem or NULL on error.
|
||||||
* @deprecated Use hdfsBuilderConnect instead.
|
* @deprecated Use hdfsBuilderConnect instead.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
hdfsFS hdfsConnectAsUser(const char* nn, tPort port, const char *user);
|
hdfsFS hdfsConnectAsUser(const char* nn, tPort port, const char *user);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -157,6 +188,7 @@ extern "C" {
|
||||||
* @return Returns a handle to the filesystem or NULL on error.
|
* @return Returns a handle to the filesystem or NULL on error.
|
||||||
* @deprecated Use hdfsBuilderConnect instead.
|
* @deprecated Use hdfsBuilderConnect instead.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
hdfsFS hdfsConnect(const char* nn, tPort port);
|
hdfsFS hdfsConnect(const char* nn, tPort port);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -170,6 +202,7 @@ extern "C" {
|
||||||
* @return Returns a handle to the filesystem or NULL on error.
|
* @return Returns a handle to the filesystem or NULL on error.
|
||||||
* @deprecated Use hdfsBuilderConnect instead.
|
* @deprecated Use hdfsBuilderConnect instead.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
hdfsFS hdfsConnectAsUserNewInstance(const char* nn, tPort port, const char *user );
|
hdfsFS hdfsConnectAsUserNewInstance(const char* nn, tPort port, const char *user );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -182,6 +215,7 @@ extern "C" {
|
||||||
* @return Returns a handle to the filesystem or NULL on error.
|
* @return Returns a handle to the filesystem or NULL on error.
|
||||||
* @deprecated Use hdfsBuilderConnect instead.
|
* @deprecated Use hdfsBuilderConnect instead.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
hdfsFS hdfsConnectNewInstance(const char* nn, tPort port);
|
hdfsFS hdfsConnectNewInstance(const char* nn, tPort port);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -196,6 +230,7 @@ extern "C" {
|
||||||
* @param bld The HDFS builder
|
* @param bld The HDFS builder
|
||||||
* @return Returns a handle to the filesystem, or NULL on error.
|
* @return Returns a handle to the filesystem, or NULL on error.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
hdfsFS hdfsBuilderConnect(struct hdfsBuilder *bld);
|
hdfsFS hdfsBuilderConnect(struct hdfsBuilder *bld);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -203,6 +238,7 @@ extern "C" {
|
||||||
*
|
*
|
||||||
* @return The HDFS builder, or NULL on error.
|
* @return The HDFS builder, or NULL on error.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
struct hdfsBuilder *hdfsNewBuilder(void);
|
struct hdfsBuilder *hdfsNewBuilder(void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -211,6 +247,7 @@ extern "C" {
|
||||||
*
|
*
|
||||||
* @param bld The HDFS builder
|
* @param bld The HDFS builder
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
void hdfsBuilderSetForceNewInstance(struct hdfsBuilder *bld);
|
void hdfsBuilderSetForceNewInstance(struct hdfsBuilder *bld);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -234,6 +271,7 @@ extern "C" {
|
||||||
* hdfsBuilderSetNameNodePort. However, you must not pass the
|
* hdfsBuilderSetNameNodePort. However, you must not pass the
|
||||||
* port in two different ways.
|
* port in two different ways.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
void hdfsBuilderSetNameNode(struct hdfsBuilder *bld, const char *nn);
|
void hdfsBuilderSetNameNode(struct hdfsBuilder *bld, const char *nn);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -242,6 +280,7 @@ extern "C" {
|
||||||
* @param bld The HDFS builder
|
* @param bld The HDFS builder
|
||||||
* @param port The port.
|
* @param port The port.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
void hdfsBuilderSetNameNodePort(struct hdfsBuilder *bld, tPort port);
|
void hdfsBuilderSetNameNodePort(struct hdfsBuilder *bld, tPort port);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -250,6 +289,7 @@ extern "C" {
|
||||||
* @param bld The HDFS builder
|
* @param bld The HDFS builder
|
||||||
* @param userName The user name. The string will be shallow-copied.
|
* @param userName The user name. The string will be shallow-copied.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
void hdfsBuilderSetUserName(struct hdfsBuilder *bld, const char *userName);
|
void hdfsBuilderSetUserName(struct hdfsBuilder *bld, const char *userName);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -260,6 +300,7 @@ extern "C" {
|
||||||
* @param kerbTicketCachePath The Kerberos ticket cache path. The string
|
* @param kerbTicketCachePath The Kerberos ticket cache path. The string
|
||||||
* will be shallow-copied.
|
* will be shallow-copied.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
void hdfsBuilderSetKerbTicketCachePath(struct hdfsBuilder *bld,
|
void hdfsBuilderSetKerbTicketCachePath(struct hdfsBuilder *bld,
|
||||||
const char *kerbTicketCachePath);
|
const char *kerbTicketCachePath);
|
||||||
|
|
||||||
|
@ -271,6 +312,7 @@ extern "C" {
|
||||||
*
|
*
|
||||||
* @param bld The HDFS builder
|
* @param bld The HDFS builder
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
void hdfsFreeBuilder(struct hdfsBuilder *bld);
|
void hdfsFreeBuilder(struct hdfsBuilder *bld);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -284,6 +326,7 @@ extern "C" {
|
||||||
*
|
*
|
||||||
* @return 0 on success; nonzero error code otherwise.
|
* @return 0 on success; nonzero error code otherwise.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
int hdfsBuilderConfSetStr(struct hdfsBuilder *bld, const char *key,
|
int hdfsBuilderConfSetStr(struct hdfsBuilder *bld, const char *key,
|
||||||
const char *val);
|
const char *val);
|
||||||
|
|
||||||
|
@ -298,6 +341,7 @@ extern "C" {
|
||||||
* @return 0 on success; nonzero error code otherwise.
|
* @return 0 on success; nonzero error code otherwise.
|
||||||
* Failure to find the key is not an error.
|
* Failure to find the key is not an error.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
int hdfsConfGetStr(const char *key, char **val);
|
int hdfsConfGetStr(const char *key, char **val);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -310,6 +354,7 @@ extern "C" {
|
||||||
* @return 0 on success; nonzero error code otherwise.
|
* @return 0 on success; nonzero error code otherwise.
|
||||||
* Failure to find the key is not an error.
|
* Failure to find the key is not an error.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
int hdfsConfGetInt(const char *key, int32_t *val);
|
int hdfsConfGetInt(const char *key, int32_t *val);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -317,6 +362,7 @@ extern "C" {
|
||||||
*
|
*
|
||||||
* @param val A configuration string obtained from hdfsConfGetStr
|
* @param val A configuration string obtained from hdfsConfGetStr
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
void hdfsConfStrFree(char *val);
|
void hdfsConfStrFree(char *val);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -327,6 +373,7 @@ extern "C" {
|
||||||
* Even if there is an error, the resources associated with the
|
* Even if there is an error, the resources associated with the
|
||||||
* hdfsFS will be freed.
|
* hdfsFS will be freed.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
int hdfsDisconnect(hdfsFS fs);
|
int hdfsDisconnect(hdfsFS fs);
|
||||||
|
|
||||||
|
|
||||||
|
@ -344,6 +391,7 @@ extern "C" {
|
||||||
* default configured values.
|
* default configured values.
|
||||||
* @return Returns the handle to the open file or NULL on error.
|
* @return Returns the handle to the open file or NULL on error.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
hdfsFile hdfsOpenFile(hdfsFS fs, const char* path, int flags,
|
hdfsFile hdfsOpenFile(hdfsFS fs, const char* path, int flags,
|
||||||
int bufferSize, short replication, tSize blocksize);
|
int bufferSize, short replication, tSize blocksize);
|
||||||
|
|
||||||
|
@ -355,6 +403,7 @@ extern "C" {
|
||||||
* ENOTSUP if the file does not support unbuffering
|
* ENOTSUP if the file does not support unbuffering
|
||||||
* Errno will also be set to this value.
|
* Errno will also be set to this value.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
int hdfsUnbufferFile(hdfsFile file);
|
int hdfsUnbufferFile(hdfsFile file);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -367,6 +416,7 @@ extern "C" {
|
||||||
* be freed at the end of this call, even if there was an I/O
|
* be freed at the end of this call, even if there was an I/O
|
||||||
* error.
|
* error.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
int hdfsCloseFile(hdfsFS fs, hdfsFile file);
|
int hdfsCloseFile(hdfsFS fs, hdfsFile file);
|
||||||
|
|
||||||
|
|
||||||
|
@ -376,6 +426,7 @@ extern "C" {
|
||||||
* @param path The path to look for
|
* @param path The path to look for
|
||||||
* @return Returns 0 on success, -1 on error.
|
* @return Returns 0 on success, -1 on error.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
int hdfsExists(hdfsFS fs, const char *path);
|
int hdfsExists(hdfsFS fs, const char *path);
|
||||||
|
|
||||||
|
|
||||||
|
@ -387,6 +438,7 @@ extern "C" {
|
||||||
* @param desiredPos Offset into the file to seek into.
|
* @param desiredPos Offset into the file to seek into.
|
||||||
* @return Returns 0 on success, -1 on error.
|
* @return Returns 0 on success, -1 on error.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
int hdfsSeek(hdfsFS fs, hdfsFile file, tOffset desiredPos);
|
int hdfsSeek(hdfsFS fs, hdfsFile file, tOffset desiredPos);
|
||||||
|
|
||||||
|
|
||||||
|
@ -396,6 +448,7 @@ extern "C" {
|
||||||
* @param file The file handle.
|
* @param file The file handle.
|
||||||
* @return Current offset, -1 on error.
|
* @return Current offset, -1 on error.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
tOffset hdfsTell(hdfsFS fs, hdfsFile file);
|
tOffset hdfsTell(hdfsFS fs, hdfsFile file);
|
||||||
|
|
||||||
|
|
||||||
|
@ -413,6 +466,7 @@ extern "C" {
|
||||||
* and set errno to EINTR if data is temporarily unavailable,
|
* and set errno to EINTR if data is temporarily unavailable,
|
||||||
* but we are not yet at the end of the file.
|
* but we are not yet at the end of the file.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
tSize hdfsRead(hdfsFS fs, hdfsFile file, void* buffer, tSize length);
|
tSize hdfsRead(hdfsFS fs, hdfsFile file, void* buffer, tSize length);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -424,6 +478,7 @@ extern "C" {
|
||||||
* @param length The length of the buffer.
|
* @param length The length of the buffer.
|
||||||
* @return See hdfsRead
|
* @return See hdfsRead
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
tSize hdfsPread(hdfsFS fs, hdfsFile file, tOffset position,
|
tSize hdfsPread(hdfsFS fs, hdfsFile file, tOffset position,
|
||||||
void* buffer, tSize length);
|
void* buffer, tSize length);
|
||||||
|
|
||||||
|
@ -436,6 +491,7 @@ extern "C" {
|
||||||
* @param length The no. of bytes to write.
|
* @param length The no. of bytes to write.
|
||||||
* @return Returns the number of bytes written, -1 on error.
|
* @return Returns the number of bytes written, -1 on error.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
tSize hdfsWrite(hdfsFS fs, hdfsFile file, const void* buffer,
|
tSize hdfsWrite(hdfsFS fs, hdfsFile file, const void* buffer,
|
||||||
tSize length);
|
tSize length);
|
||||||
|
|
||||||
|
@ -446,6 +502,7 @@ extern "C" {
|
||||||
* @param file The file handle.
|
* @param file The file handle.
|
||||||
* @return Returns 0 on success, -1 on error.
|
* @return Returns 0 on success, -1 on error.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
int hdfsFlush(hdfsFS fs, hdfsFile file);
|
int hdfsFlush(hdfsFS fs, hdfsFile file);
|
||||||
|
|
||||||
|
|
||||||
|
@ -456,6 +513,7 @@ extern "C" {
|
||||||
* @param file file handle
|
* @param file file handle
|
||||||
* @return 0 on success, -1 on error and sets errno
|
* @return 0 on success, -1 on error and sets errno
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
int hdfsHFlush(hdfsFS fs, hdfsFile file);
|
int hdfsHFlush(hdfsFS fs, hdfsFile file);
|
||||||
|
|
||||||
|
|
||||||
|
@ -467,6 +525,7 @@ extern "C" {
|
||||||
* @param file file handle
|
* @param file file handle
|
||||||
* @return 0 on success, -1 on error and sets errno
|
* @return 0 on success, -1 on error and sets errno
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
int hdfsHSync(hdfsFS fs, hdfsFile file);
|
int hdfsHSync(hdfsFS fs, hdfsFile file);
|
||||||
|
|
||||||
|
|
||||||
|
@ -477,6 +536,7 @@ extern "C" {
|
||||||
* @param file The file handle.
|
* @param file The file handle.
|
||||||
* @return Returns available bytes; -1 on error.
|
* @return Returns available bytes; -1 on error.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
int hdfsAvailable(hdfsFS fs, hdfsFile file);
|
int hdfsAvailable(hdfsFS fs, hdfsFile file);
|
||||||
|
|
||||||
|
|
||||||
|
@ -488,6 +548,7 @@ extern "C" {
|
||||||
* @param dst The path of destination file.
|
* @param dst The path of destination file.
|
||||||
* @return Returns 0 on success, -1 on error.
|
* @return Returns 0 on success, -1 on error.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
int hdfsCopy(hdfsFS srcFS, const char* src, hdfsFS dstFS, const char* dst);
|
int hdfsCopy(hdfsFS srcFS, const char* src, hdfsFS dstFS, const char* dst);
|
||||||
|
|
||||||
|
|
||||||
|
@ -499,6 +560,7 @@ extern "C" {
|
||||||
* @param dst The path of destination file.
|
* @param dst The path of destination file.
|
||||||
* @return Returns 0 on success, -1 on error.
|
* @return Returns 0 on success, -1 on error.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
int hdfsMove(hdfsFS srcFS, const char* src, hdfsFS dstFS, const char* dst);
|
int hdfsMove(hdfsFS srcFS, const char* src, hdfsFS dstFS, const char* dst);
|
||||||
|
|
||||||
|
|
||||||
|
@ -511,6 +573,7 @@ extern "C" {
|
||||||
* case of a file the recursive argument is irrelevant.
|
* case of a file the recursive argument is irrelevant.
|
||||||
* @return Returns 0 on success, -1 on error.
|
* @return Returns 0 on success, -1 on error.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
int hdfsDelete(hdfsFS fs, const char* path, int recursive);
|
int hdfsDelete(hdfsFS fs, const char* path, int recursive);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -520,6 +583,7 @@ extern "C" {
|
||||||
* @param newPath The path of the destination file.
|
* @param newPath The path of the destination file.
|
||||||
* @return Returns 0 on success, -1 on error.
|
* @return Returns 0 on success, -1 on error.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
int hdfsRename(hdfsFS fs, const char* oldPath, const char* newPath);
|
int hdfsRename(hdfsFS fs, const char* oldPath, const char* newPath);
|
||||||
|
|
||||||
|
|
||||||
|
@ -531,6 +595,7 @@ extern "C" {
|
||||||
* @param bufferSize The length of user-buffer.
|
* @param bufferSize The length of user-buffer.
|
||||||
* @return Returns buffer, NULL on error.
|
* @return Returns buffer, NULL on error.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
char* hdfsGetWorkingDirectory(hdfsFS fs, char *buffer, size_t bufferSize);
|
char* hdfsGetWorkingDirectory(hdfsFS fs, char *buffer, size_t bufferSize);
|
||||||
|
|
||||||
|
|
||||||
|
@ -541,6 +606,7 @@ extern "C" {
|
||||||
* @param path The path of the new 'cwd'.
|
* @param path The path of the new 'cwd'.
|
||||||
* @return Returns 0 on success, -1 on error.
|
* @return Returns 0 on success, -1 on error.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
int hdfsSetWorkingDirectory(hdfsFS fs, const char* path);
|
int hdfsSetWorkingDirectory(hdfsFS fs, const char* path);
|
||||||
|
|
||||||
|
|
||||||
|
@ -551,6 +617,7 @@ extern "C" {
|
||||||
* @param path The path of the directory.
|
* @param path The path of the directory.
|
||||||
* @return Returns 0 on success, -1 on error.
|
* @return Returns 0 on success, -1 on error.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
int hdfsCreateDirectory(hdfsFS fs, const char* path);
|
int hdfsCreateDirectory(hdfsFS fs, const char* path);
|
||||||
|
|
||||||
|
|
||||||
|
@ -561,6 +628,7 @@ extern "C" {
|
||||||
* @param path The path of the file.
|
* @param path The path of the file.
|
||||||
* @return Returns 0 on success, -1 on error.
|
* @return Returns 0 on success, -1 on error.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
int hdfsSetReplication(hdfsFS fs, const char* path, int16_t replication);
|
int hdfsSetReplication(hdfsFS fs, const char* path, int16_t replication);
|
||||||
|
|
||||||
|
|
||||||
|
@ -590,6 +658,7 @@ extern "C" {
|
||||||
* @return Returns a dynamically-allocated array of hdfsFileInfo
|
* @return Returns a dynamically-allocated array of hdfsFileInfo
|
||||||
* objects; NULL on error.
|
* objects; NULL on error.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
hdfsFileInfo *hdfsListDirectory(hdfsFS fs, const char* path,
|
hdfsFileInfo *hdfsListDirectory(hdfsFS fs, const char* path,
|
||||||
int *numEntries);
|
int *numEntries);
|
||||||
|
|
||||||
|
@ -603,6 +672,7 @@ extern "C" {
|
||||||
* @return Returns a dynamically-allocated hdfsFileInfo object;
|
* @return Returns a dynamically-allocated hdfsFileInfo object;
|
||||||
* NULL on error.
|
* NULL on error.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
hdfsFileInfo *hdfsGetPathInfo(hdfsFS fs, const char* path);
|
hdfsFileInfo *hdfsGetPathInfo(hdfsFS fs, const char* path);
|
||||||
|
|
||||||
|
|
||||||
|
@ -612,6 +682,7 @@ extern "C" {
|
||||||
* objects.
|
* objects.
|
||||||
* @param numEntries The size of the array.
|
* @param numEntries The size of the array.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
void hdfsFreeFileInfo(hdfsFileInfo *hdfsFileInfo, int numEntries);
|
void hdfsFreeFileInfo(hdfsFileInfo *hdfsFileInfo, int numEntries);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -620,6 +691,7 @@ extern "C" {
|
||||||
* @return -1 if there was an error (errno will be set), 0 if the file is
|
* @return -1 if there was an error (errno will be set), 0 if the file is
|
||||||
* not encrypted, 1 if the file is encrypted.
|
* not encrypted, 1 if the file is encrypted.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
int hdfsFileIsEncrypted(hdfsFileInfo *hdfsFileInfo);
|
int hdfsFileIsEncrypted(hdfsFileInfo *hdfsFileInfo);
|
||||||
|
|
||||||
|
|
||||||
|
@ -635,6 +707,7 @@ extern "C" {
|
||||||
* @return Returns a dynamically-allocated 2-d array of blocks-hosts;
|
* @return Returns a dynamically-allocated 2-d array of blocks-hosts;
|
||||||
* NULL on error.
|
* NULL on error.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
char*** hdfsGetHosts(hdfsFS fs, const char* path,
|
char*** hdfsGetHosts(hdfsFS fs, const char* path,
|
||||||
tOffset start, tOffset length);
|
tOffset start, tOffset length);
|
||||||
|
|
||||||
|
@ -645,6 +718,7 @@ extern "C" {
|
||||||
* objects.
|
* objects.
|
||||||
* @param numEntries The size of the array.
|
* @param numEntries The size of the array.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
void hdfsFreeHosts(char ***blockHosts);
|
void hdfsFreeHosts(char ***blockHosts);
|
||||||
|
|
||||||
|
|
||||||
|
@ -656,6 +730,7 @@ extern "C" {
|
||||||
*
|
*
|
||||||
* @return Returns the default blocksize, or -1 on error.
|
* @return Returns the default blocksize, or -1 on error.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
tOffset hdfsGetDefaultBlockSize(hdfsFS fs);
|
tOffset hdfsGetDefaultBlockSize(hdfsFS fs);
|
||||||
|
|
||||||
|
|
||||||
|
@ -669,6 +744,7 @@ extern "C" {
|
||||||
*
|
*
|
||||||
* @return Returns the default blocksize, or -1 on error.
|
* @return Returns the default blocksize, or -1 on error.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
tOffset hdfsGetDefaultBlockSizeAtPath(hdfsFS fs, const char *path);
|
tOffset hdfsGetDefaultBlockSizeAtPath(hdfsFS fs, const char *path);
|
||||||
|
|
||||||
|
|
||||||
|
@ -677,6 +753,7 @@ extern "C" {
|
||||||
* @param fs The configured filesystem handle.
|
* @param fs The configured filesystem handle.
|
||||||
* @return Returns the raw-capacity; -1 on error.
|
* @return Returns the raw-capacity; -1 on error.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
tOffset hdfsGetCapacity(hdfsFS fs);
|
tOffset hdfsGetCapacity(hdfsFS fs);
|
||||||
|
|
||||||
|
|
||||||
|
@ -685,6 +762,7 @@ extern "C" {
|
||||||
* @param fs The configured filesystem handle.
|
* @param fs The configured filesystem handle.
|
||||||
* @return Returns the total-size; -1 on error.
|
* @return Returns the total-size; -1 on error.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
tOffset hdfsGetUsed(hdfsFS fs);
|
tOffset hdfsGetUsed(hdfsFS fs);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -696,6 +774,7 @@ extern "C" {
|
||||||
* @param group Group string. Set to NULL for 'no change'
|
* @param group Group string. Set to NULL for 'no change'
|
||||||
* @return 0 on success else -1
|
* @return 0 on success else -1
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
int hdfsChown(hdfsFS fs, const char* path, const char *owner,
|
int hdfsChown(hdfsFS fs, const char* path, const char *owner,
|
||||||
const char *group);
|
const char *group);
|
||||||
|
|
||||||
|
@ -706,7 +785,8 @@ extern "C" {
|
||||||
* @param mode the bitmask to set it to
|
* @param mode the bitmask to set it to
|
||||||
* @return 0 on success else -1
|
* @return 0 on success else -1
|
||||||
*/
|
*/
|
||||||
int hdfsChmod(hdfsFS fs, const char* path, short mode);
|
LIBHDFS_EXTERNAL
|
||||||
|
int hdfsChmod(hdfsFS fs, const char* path, short mode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* hdfsUtime
|
* hdfsUtime
|
||||||
|
@ -716,6 +796,7 @@ extern "C" {
|
||||||
* @param atime new access time or -1 for no change
|
* @param atime new access time or -1 for no change
|
||||||
* @return 0 on success else -1
|
* @return 0 on success else -1
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
int hdfsUtime(hdfsFS fs, const char* path, tTime mtime, tTime atime);
|
int hdfsUtime(hdfsFS fs, const char* path, tTime mtime, tTime atime);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -728,6 +809,7 @@ extern "C" {
|
||||||
* not be allocated. If NULL is returned, errno will
|
* not be allocated. If NULL is returned, errno will
|
||||||
* contain the error number.
|
* contain the error number.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
struct hadoopRzOptions *hadoopRzOptionsAlloc(void);
|
struct hadoopRzOptions *hadoopRzOptionsAlloc(void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -739,6 +821,7 @@ extern "C" {
|
||||||
*
|
*
|
||||||
* @return 0 on success; -1 plus errno on failure.
|
* @return 0 on success; -1 plus errno on failure.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
int hadoopRzOptionsSetSkipChecksum(
|
int hadoopRzOptionsSetSkipChecksum(
|
||||||
struct hadoopRzOptions *opts, int skip);
|
struct hadoopRzOptions *opts, int skip);
|
||||||
|
|
||||||
|
@ -756,6 +839,7 @@ extern "C" {
|
||||||
* instantiated;
|
* instantiated;
|
||||||
* -1 plus errno otherwise.
|
* -1 plus errno otherwise.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
int hadoopRzOptionsSetByteBufferPool(
|
int hadoopRzOptionsSetByteBufferPool(
|
||||||
struct hadoopRzOptions *opts, const char *className);
|
struct hadoopRzOptions *opts, const char *className);
|
||||||
|
|
||||||
|
@ -765,6 +849,7 @@ extern "C" {
|
||||||
* @param opts The options structure to free.
|
* @param opts The options structure to free.
|
||||||
* Any associated ByteBufferPool will also be freed.
|
* Any associated ByteBufferPool will also be freed.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
void hadoopRzOptionsFree(struct hadoopRzOptions *opts);
|
void hadoopRzOptionsFree(struct hadoopRzOptions *opts);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -790,6 +875,7 @@ extern "C" {
|
||||||
* zero-copy read, and there was no ByteBufferPool
|
* zero-copy read, and there was no ByteBufferPool
|
||||||
* supplied.
|
* supplied.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
struct hadoopRzBuffer* hadoopReadZero(hdfsFile file,
|
struct hadoopRzBuffer* hadoopReadZero(hdfsFile file,
|
||||||
struct hadoopRzOptions *opts, int32_t maxLength);
|
struct hadoopRzOptions *opts, int32_t maxLength);
|
||||||
|
|
||||||
|
@ -799,6 +885,7 @@ extern "C" {
|
||||||
* @param buffer a buffer returned from readZero.
|
* @param buffer a buffer returned from readZero.
|
||||||
* @return the length of the buffer.
|
* @return the length of the buffer.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
int32_t hadoopRzBufferLength(const struct hadoopRzBuffer *buffer);
|
int32_t hadoopRzBufferLength(const struct hadoopRzBuffer *buffer);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -811,6 +898,7 @@ extern "C" {
|
||||||
* @return a pointer to the start of the buffer. This will be
|
* @return a pointer to the start of the buffer. This will be
|
||||||
* NULL when end-of-file has been reached.
|
* NULL when end-of-file has been reached.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
const void *hadoopRzBufferGet(const struct hadoopRzBuffer *buffer);
|
const void *hadoopRzBufferGet(const struct hadoopRzBuffer *buffer);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -820,12 +908,14 @@ extern "C" {
|
||||||
* the same stream you called hadoopReadZero on.
|
* the same stream you called hadoopReadZero on.
|
||||||
* @param buffer The buffer to release.
|
* @param buffer The buffer to release.
|
||||||
*/
|
*/
|
||||||
|
LIBHDFS_EXTERNAL
|
||||||
void hadoopRzBufferFree(hdfsFile file, struct hadoopRzBuffer *buffer);
|
void hadoopRzBufferFree(hdfsFile file, struct hadoopRzBuffer *buffer);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#undef LIBHDFS_EXTERNAL
|
||||||
#endif /*LIBHDFS_HDFS_H*/
|
#endif /*LIBHDFS_HDFS_H*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue