123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240 |
- /**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- #ifndef _HDFS_HTTP_QUERY_H_
- #define _HDFS_HTTP_QUERY_H_
- #include <unistd.h> /* for size_t */
- #include <inttypes.h> /* for int16_t */
- /**
- * Create the URL for a MKDIR request
- *
- * @param host The hostname of the NameNode
- * @param nnPort Port of the NameNode
- * @param path Path of the dir to create
- * @param user User name
- * @param url Holding the generated URL for MKDIR request
- * @return 0 on success and non-zero value on errors
- */
- int createUrlForMKDIR(const char *host, int nnPort,
- const char *path, const char *user,
- char **url) __attribute__ ((warn_unused_result));
- /**
- * Create the URL for a MKDIR (with mode) request
- *
- * @param host The hostname of the NameNode
- * @param nnPort Port of the NameNode
- * @param path Path of the dir to create
- * @param mode Mode of MKDIR
- * @param user User name
- * @param url Holding the generated URL for MKDIR request
- * @return 0 on success and non-zero value on errors
- */
- int createUrlForMKDIRwithMode(const char *host, int nnPort, const char *path,
- int mode, const char *user,
- char **url) __attribute__ ((warn_unused_result));
- /**
- * Create the URL for a RENAME request
- *
- * @param host The hostname of the NameNode
- * @param nnPort Port of the NameNode
- * @param srcpath Source path
- * @param dstpath Destination path
- * @param user User name
- * @param url Holding the generated URL for RENAME request
- * @return 0 on success and non-zero value on errors
- */
- int createUrlForRENAME(const char *host, int nnPort, const char *srcpath,
- const char *dstpath, const char *user,
- char **url) __attribute__ ((warn_unused_result));
- /**
- * Create the URL for a CHMOD request
- *
- * @param host The hostname of the NameNode
- * @param nnPort Port of the NameNode
- * @param path Target path
- * @param mode New mode for the file
- * @param user User name
- * @param url Holding the generated URL for CHMOD request
- * @return 0 on success and non-zero value on errors
- */
- int createUrlForCHMOD(const char *host, int nnPort, const char *path,
- int mode, const char *user,
- char **url) __attribute__ ((warn_unused_result));
- /**
- * Create the URL for a GETFILESTATUS request
- *
- * @param host The hostname of the NameNode
- * @param nnPort Port of the NameNode
- * @param path Path of the target file
- * @param user User name
- * @param url Holding the generated URL for GETFILESTATUS request
- * @return 0 on success and non-zero value on errors
- */
- int createUrlForGetFileStatus(const char *host, int nnPort,
- const char *path, const char *user,
- char **url) __attribute__ ((warn_unused_result));
- /**
- * Create the URL for a LISTSTATUS request
- *
- * @param host The hostname of the NameNode
- * @param nnPort Port of the NameNode
- * @param path Path of the directory for listing
- * @param user User name
- * @param url Holding the generated URL for LISTSTATUS request
- * @return 0 on success and non-zero value on errors
- */
- int createUrlForLS(const char *host, int nnPort,
- const char *path, const char *user,
- char **url) __attribute__ ((warn_unused_result));
- /**
- * Create the URL for a DELETE request
- *
- * @param host The hostname of the NameNode
- * @param nnPort Port of the NameNode
- * @param path Path of the file to be deletected
- * @param recursive Whether or not to delete in a recursive way
- * @param user User name
- * @param url Holding the generated URL for DELETE request
- * @return 0 on success and non-zero value on errors
- */
- int createUrlForDELETE(const char *host, int nnPort, const char *path,
- int recursive, const char *user,
- char **url) __attribute__ ((warn_unused_result));
- /**
- * Create the URL for a CHOWN request
- *
- * @param host The hostname of the NameNode
- * @param nnPort Port of the NameNode
- * @param path Path of the target
- * @param owner New owner
- * @param group New group
- * @param user User name
- * @param url Holding the generated URL for CHOWN request
- * @return 0 on success and non-zero value on errors
- */
- int createUrlForCHOWN(const char *host, int nnPort, const char *path,
- const char *owner, const char *group, const char *user,
- char **url) __attribute__ ((warn_unused_result));
- /**
- * Create the URL for a OPEN/READ request
- *
- * @param host The hostname of the NameNode
- * @param nnPort Port of the NameNode
- * @param path Path of the file to read
- * @param user User name
- * @param offset Offset for reading (the start position for this read)
- * @param length Length of the file to read
- * @param url Holding the generated URL for OPEN/READ request
- * @return 0 on success and non-zero value on errors
- */
- int createUrlForOPEN(const char *host, int nnPort, const char *path,
- const char *user, size_t offset, size_t length,
- char **url) __attribute__ ((warn_unused_result));
- /**
- * Create the URL for a UTIMES (update time) request
- *
- * @param host The hostname of the NameNode
- * @param nnPort Port of the NameNode
- * @param path Path of the file for updating time
- * @param mTime Modified time to set
- * @param aTime Access time to set
- * @param user User name
- * @param url Holding the generated URL for UTIMES request
- * @return 0 on success and non-zero value on errors
- */
- int createUrlForUTIMES(const char *host, int nnPort, const char *path,
- long unsigned mTime, long unsigned aTime,
- const char *user,
- char **url) __attribute__ ((warn_unused_result));
- /**
- * Create the URL for a WRITE/CREATE request (sent to NameNode)
- *
- * @param host The hostname of the NameNode
- * @param nnPort Port of the NameNode
- * @param path Path of the dir to create
- * @param user User name
- * @param replication Number of replication of the file
- * @param blockSize Size of the block for the file
- * @param url Holding the generated URL for WRITE request
- * @return 0 on success and non-zero value on errors
- */
- int createUrlForNnWRITE(const char *host, int nnPort, const char *path,
- const char *user, int16_t replication, size_t blockSize,
- char **url) __attribute__ ((warn_unused_result));
- /**
- * Create the URL for an APPEND request (sent to NameNode)
- *
- * @param host The hostname of the NameNode
- * @param nnPort Port of the NameNode
- * @param path Path of the file for appending
- * @param user User name
- * @param url Holding the generated URL for APPEND request
- * @return 0 on success and non-zero value on errors
- */
- int createUrlForNnAPPEND(const char *host, int nnPort,
- const char *path, const char *user,
- char **url) __attribute__ ((warn_unused_result));
- /**
- * Create the URL for a SETREPLICATION request
- *
- * @param host The hostname of the NameNode
- * @param nnPort Port of the NameNode
- * @param path Path of the target file
- * @param replication New replication number
- * @param user User name
- * @param url Holding the generated URL for SETREPLICATION request
- * @return 0 on success and non-zero value on errors
- */
- int createUrlForSETREPLICATION(const char *host, int nnPort, const char *path,
- int16_t replication, const char *user,
- char **url) __attribute__ ((warn_unused_result));
- /**
- * Create the URL for a GET_BLOCK_LOCATIONS request
- *
- * @param host The hostname of the NameNode
- * @param nnPort Port of the NameNode
- * @param path Path of the target file
- * @param offset The offset in the file
- * @param length Length of the file content
- * @param user User name
- * @param url Holding the generated URL for GET_BLOCK_LOCATIONS request
- * @return 0 on success and non-zero value on errors
- */
- int createUrlForGetBlockLocations(const char *host, int nnPort,
- const char *path, size_t offset,
- size_t length, const char *user,
- char **url) __attribute__ ((warn_unused_result));
- #endif //_HDFS_HTTP_QUERY_H_
|