Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(829)

Unified Diff: c/file.c

Issue 2842333002: Updated netty-tcnative to version 2.0.0.Final (Closed)
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « c/error.c ('k') | c/info.c » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: c/file.c
diff --git a/c/file.c b/c/file.c
deleted file mode 100644
index 05c8747d597eadff38aa1de5b608299a508cd99c..0000000000000000000000000000000000000000
--- a/c/file.c
+++ /dev/null
@@ -1,601 +0,0 @@
-/* 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.
- */
-
-/*
- *
- * @author Mladen Turk
- * @version $Id: file.c 1442587 2013-02-05 13:49:48Z rjung $
- */
-
-#include "tcn.h"
-#include "apr_file_io.h"
-
-
-TCN_IMPLEMENT_CALL(jint, File, close)(TCN_STDARGS, jlong file)
-{
- apr_file_t *f = J2P(file, apr_file_t *);
- UNREFERENCED_STDARGS;
- return (jint)apr_file_close(f);
-}
-
-TCN_IMPLEMENT_CALL(jint, File, eof)(TCN_STDARGS, jlong file)
-{
- apr_file_t *f = J2P(file, apr_file_t *);
- UNREFERENCED_STDARGS;
- return (jint)apr_file_eof(f);
-}
-
-TCN_IMPLEMENT_CALL(jint, File, flush)(TCN_STDARGS, jlong file)
-{
- apr_file_t *f = J2P(file, apr_file_t *);
- UNREFERENCED_STDARGS;
- return (jint)apr_file_flush(f);
-}
-
-TCN_IMPLEMENT_CALL(jint, File, unlock)(TCN_STDARGS, jlong file)
-{
- apr_file_t *f = J2P(file, apr_file_t *);
- UNREFERENCED_STDARGS;
- return (jint)apr_file_unlock(f);
-}
-
-TCN_IMPLEMENT_CALL(jint, File, flagsGet)(TCN_STDARGS, jlong file)
-{
- apr_file_t *f = J2P(file, apr_file_t *);
- UNREFERENCED_STDARGS;
- return (jint)apr_file_flags_get(f);
-}
-
-TCN_IMPLEMENT_CALL(jint, File, lock)(TCN_STDARGS, jlong file, jint flags)
-{
- apr_file_t *f = J2P(file, apr_file_t *);
- UNREFERENCED_STDARGS;
- return (jint)apr_file_lock(f, (int)flags);
-}
-
-TCN_IMPLEMENT_CALL(jint, File, trunc)(TCN_STDARGS, jlong file, jlong off)
-{
- apr_file_t *f = J2P(file, apr_file_t *);
- UNREFERENCED_STDARGS;
- return (jint)apr_file_trunc(f, (apr_off_t)off);
-}
-
-TCN_IMPLEMENT_CALL(jlong, File, open)(TCN_STDARGS, jstring fname,
- jint flag, jint perm,
- jlong pool)
-{
- apr_pool_t *p = J2P(pool, apr_pool_t *);
- apr_file_t *f = NULL;
- TCN_ALLOC_CSTRING(fname);
-
- UNREFERENCED(o);
- TCN_THROW_IF_ERR(apr_file_open(&f, J2S(fname), (apr_int32_t)flag,
- (apr_fileperms_t)perm, p), f);
-
-cleanup:
- TCN_FREE_CSTRING(fname);
- return P2J(f);
-}
-
-TCN_IMPLEMENT_CALL(jlong, File, mktemp)(TCN_STDARGS, jstring templ,
- jint flags,
- jlong pool)
-{
- apr_pool_t *p = J2P(pool, apr_pool_t *);
- apr_file_t *f = NULL;
- char *ctempl = tcn_strdup(e, templ);
-
- UNREFERENCED(o);
- if (!ctempl) {
- TCN_THROW_OS_ERROR(e);
- return 0;
- }
- TCN_THROW_IF_ERR(apr_file_mktemp(&f, ctempl,
- (apr_int32_t)flags, p), f);
-
-cleanup:
- free(ctempl);
- return P2J(f);
-}
-
-TCN_IMPLEMENT_CALL(jint, File, remove)(TCN_STDARGS, jstring path, jlong pool)
-{
- apr_pool_t *p = J2P(pool, apr_pool_t *);
- TCN_ALLOC_CSTRING(path);
- apr_status_t rv;
-
- UNREFERENCED(o);
- rv = apr_file_remove(J2S(path), p);
- TCN_FREE_CSTRING(path);
- return (jint)rv;
-}
-
-TCN_IMPLEMENT_CALL(jint, File, rename)(TCN_STDARGS, jstring from,
- jstring to, jlong pool)
-{
- apr_pool_t *p = J2P(pool, apr_pool_t *);
- TCN_ALLOC_CSTRING(from);
- TCN_ALLOC_CSTRING(to);
- apr_status_t rv;
-
- UNREFERENCED(o);
- rv = apr_file_rename(J2S(from), J2S(to), p);
- TCN_FREE_CSTRING(from);
- TCN_FREE_CSTRING(to);
- return (jint)rv;
-}
-
-TCN_IMPLEMENT_CALL(jint, File, copy)(TCN_STDARGS, jstring from,
- jstring to, jint perms, jlong pool)
-{
- apr_pool_t *p = J2P(pool, apr_pool_t *);
- TCN_ALLOC_CSTRING(from);
- TCN_ALLOC_CSTRING(to);
- apr_status_t rv;
-
- UNREFERENCED(o);
- rv = apr_file_copy(J2S(from), J2S(to), (apr_fileperms_t)perms, p);
- TCN_FREE_CSTRING(from);
- TCN_FREE_CSTRING(to);
- return (jint)rv;
-}
-
-TCN_IMPLEMENT_CALL(jint, File, append)(TCN_STDARGS, jstring from,
- jstring to, jint perms, jlong pool)
-{
- apr_pool_t *p = J2P(pool, apr_pool_t *);
- TCN_ALLOC_CSTRING(from);
- TCN_ALLOC_CSTRING(to);
- apr_status_t rv;
-
- UNREFERENCED(o);
- rv = apr_file_append(J2S(from), J2S(to), (apr_fileperms_t)perms, p);
- TCN_FREE_CSTRING(from);
- TCN_FREE_CSTRING(to);
- return (jint)rv;
-}
-
-TCN_IMPLEMENT_CALL(jstring, File, nameGet)(TCN_STDARGS, jlong file)
-{
- apr_file_t *f = J2P(file, apr_file_t *);
- jstring name = NULL;
- const char *fname;
-
- UNREFERENCED(o);
- if (apr_file_name_get(&fname, f) == APR_SUCCESS)
- name = AJP_TO_JSTRING(fname);
-
- return name;
-}
-
-TCN_IMPLEMENT_CALL(jint, File, permsSet)(TCN_STDARGS, jstring file, jint perms)
-{
- TCN_ALLOC_CSTRING(file);
- apr_status_t rv;
-
- UNREFERENCED(o);
- rv = apr_file_perms_set(J2S(file), (apr_fileperms_t)perms);
- TCN_FREE_CSTRING(file);
- return (jint)rv;
-}
-
-TCN_IMPLEMENT_CALL(jint, File, attrsSet)(TCN_STDARGS, jstring file, jint attrs,
- jint mask, jlong pool)
-{
- apr_pool_t *p = J2P(pool, apr_pool_t *);
- TCN_ALLOC_CSTRING(file);
- apr_status_t rv;
-
- UNREFERENCED(o);
- rv = apr_file_attrs_set(J2S(file), (apr_fileattrs_t)attrs,
- (apr_fileattrs_t)mask, p);
- TCN_FREE_CSTRING(file);
- return (jint)rv;
-}
-
-TCN_IMPLEMENT_CALL(jint, File, mtimeSet)(TCN_STDARGS, jstring file, jlong mtime,
- jlong pool)
-{
- apr_pool_t *p = J2P(pool, apr_pool_t *);
- TCN_ALLOC_CSTRING(file);
- apr_status_t rv;
-
- UNREFERENCED(o);
- rv = apr_file_mtime_set(J2S(file), J2T(mtime), p);
- TCN_FREE_CSTRING(file);
- return (jint)rv;
-}
-
-TCN_IMPLEMENT_CALL(jlong, File, seek)(TCN_STDARGS, jlong file,
- jint where, jlong offset)
-{
- apr_file_t *f = J2P(file, apr_file_t *);
- apr_off_t pos = (apr_off_t)offset;
- apr_seek_where_t w;
- UNREFERENCED(o);
- switch (where) {
- case 1:
- w = APR_CUR;
- break;
- case 2:
- w = APR_END;
- break;
- default:
- w = APR_SET;
- break;
- }
- TCN_THROW_IF_ERR(apr_file_seek(f, w, &pos), pos);
-
-cleanup:
- return (jlong)pos;
-}
-
-TCN_IMPLEMENT_CALL(jint, File, putc)(TCN_STDARGS, jbyte c, jlong file)
-{
- apr_file_t *f = J2P(file, apr_file_t *);
- UNREFERENCED_STDARGS;
- return (jint)apr_file_putc((char)c, f);
-}
-
-TCN_IMPLEMENT_CALL(jint, File, getc)(TCN_STDARGS, jlong file)
-{
- apr_file_t *f = J2P(file, apr_file_t *);
- char ch;
-
- UNREFERENCED_STDARGS;
- TCN_THROW_IF_ERR(apr_file_getc(&ch, f), ch);
-
-cleanup:
- return (jint)ch;
-}
-
-TCN_IMPLEMENT_CALL(jint, File, ungetc)(TCN_STDARGS, jbyte c, jlong file)
-{
- apr_file_t *f = J2P(file, apr_file_t *);
- UNREFERENCED_STDARGS;
- return (jint)apr_file_ungetc((char)c, f);
-}
-
-TCN_IMPLEMENT_CALL(jint, File, puts)(TCN_STDARGS, jbyteArray str, jlong file)
-{
- apr_status_t rv = APR_EINVAL;
- apr_file_t *f = J2P(file, apr_file_t *);
- jbyte *bytes = (*e)->GetPrimitiveArrayCritical(e, str, NULL);
-
- UNREFERENCED(o);
- if (bytes) {
- rv = apr_file_puts((const char *)bytes, f);
- (*e)->ReleasePrimitiveArrayCritical(e, str, bytes, JNI_ABORT);
- }
- return (jint)rv;
-}
-
-TCN_IMPLEMENT_CALL(jint, File, write)(TCN_STDARGS, jlong file,
- jbyteArray buf, jint offset, jint towrite)
-{
- apr_file_t *f = J2P(file, apr_file_t *);
- apr_size_t nbytes = (apr_size_t)towrite;
- jbyte *bytes = (*e)->GetPrimitiveArrayCritical(e, buf, NULL);
- apr_status_t ss;
-
- UNREFERENCED(o);
- if (towrite < 0)
- towrite = (*e)->GetArrayLength(e, buf);
- ss = apr_file_write(f, bytes + offset, &nbytes);
-
- (*e)->ReleasePrimitiveArrayCritical(e, buf, bytes, JNI_ABORT);
- if (ss == APR_SUCCESS)
- return (jint)nbytes;
- else
- return -(jint)ss;
-}
-
-TCN_IMPLEMENT_CALL(jint, File, writeb)(TCN_STDARGS, jlong file,
- jobject buf, jint offset, jint towrite)
-{
- apr_file_t *f = J2P(file, apr_file_t *);
- apr_size_t nbytes = (apr_size_t)towrite;
- char *bytes = (char *)(*e)->GetDirectBufferAddress(e, buf);
- apr_status_t ss = APR_EINVAL;
-
- UNREFERENCED(o);
- if (bytes)
- ss = apr_file_write(f, bytes + offset, &nbytes);
-
- if (ss == APR_SUCCESS)
- return (jint)nbytes;
- else
- return -(jint)ss;
-}
-
-TCN_IMPLEMENT_CALL(jint, File, writeFull)(TCN_STDARGS, jlong file,
- jbyteArray buf, jint offset, jint towrite)
-{
- apr_file_t *f = J2P(file, apr_file_t *);
- apr_size_t nbytes = (apr_size_t)towrite;
- apr_size_t written = 0;
- apr_status_t ss;
- jbyte *bytes = (*e)->GetByteArrayElements(e, buf, NULL);
-
- UNREFERENCED(o);
- if (towrite < 0)
- towrite = (*e)->GetArrayLength(e, buf);
- ss = apr_file_write_full(f, bytes + offset, nbytes, &written);
-
- (*e)->ReleaseByteArrayElements(e, buf, bytes, JNI_ABORT);
- if (ss == APR_SUCCESS)
- return (jint)written;
- else
- return -(jint)ss;
-}
-
-TCN_IMPLEMENT_CALL(jint, File, writeFullb)(TCN_STDARGS, jlong file,
- jobject buf, jint offset, jint towrite)
-{
- apr_file_t *f = J2P(file, apr_file_t *);
- apr_size_t nbytes = (apr_size_t)towrite;
- apr_size_t written = 0;
- apr_status_t ss = APR_EINVAL;
- char *bytes = (char *)(*e)->GetDirectBufferAddress(e, buf);
-
- UNREFERENCED(o);
- if (bytes)
- ss = apr_file_write_full(f, bytes + offset, nbytes, &written);
-
- if (ss == APR_SUCCESS)
- return (jint)written;
- else
- return -(jint)ss;
-}
-
-TCN_IMPLEMENT_CALL(jint, File, writev)(TCN_STDARGS, jlong file,
- jobjectArray bufs)
-{
- apr_file_t *f = J2P(file, apr_file_t *);
- jsize nvec = (*e)->GetArrayLength(e, bufs);
- jsize i;
- struct iovec vec[APR_MAX_IOVEC_SIZE];
- jobject ba[APR_MAX_IOVEC_SIZE];
- apr_size_t written = 0;
- apr_status_t ss;
-
- UNREFERENCED(o);
-
- if (nvec >= APR_MAX_IOVEC_SIZE) {
- /* TODO: Throw something here */
- return 0;
- }
- for (i = 0; i < nvec; i++) {
- ba[i] = (*e)->GetObjectArrayElement(e, bufs, i);
- vec[i].iov_len = (*e)->GetArrayLength(e, ba[i]);
- vec[i].iov_base = (void *)((*e)->GetByteArrayElements(e, ba[i], NULL));
- }
-
- ss = apr_file_writev(f, vec, nvec, &written);
-
- for (i = 0; i < nvec; i++) {
- (*e)->ReleaseByteArrayElements(e, ba[i], (jbyte *)vec[i].iov_base, JNI_ABORT);
- }
- if (ss == APR_SUCCESS)
- return (jint)written;
- else
- return -(jint)ss;
-}
-
-TCN_IMPLEMENT_CALL(jint, File, writevFull)(TCN_STDARGS, jlong file,
- jobjectArray bufs)
-{
- apr_file_t *f = J2P(file, apr_file_t *);
- jsize nvec = (*e)->GetArrayLength(e, bufs);
- jsize i;
- struct iovec vec[APR_MAX_IOVEC_SIZE];
- jobject ba[APR_MAX_IOVEC_SIZE];
- apr_size_t written = 0;
- apr_status_t ss;
-
- UNREFERENCED(o);
-
- if (nvec >= APR_MAX_IOVEC_SIZE) {
- /* TODO: Throw something here */
- return 0;
- }
- for (i = 0; i < nvec; i++) {
- ba[i] = (*e)->GetObjectArrayElement(e, bufs, i);
- vec[i].iov_len = (*e)->GetArrayLength(e, ba[i]);
- vec[i].iov_base = (void *)((*e)->GetByteArrayElements(e, ba[i], NULL));
- }
-#if (APR_VERSION_MAJOR >= 1) && (APR_VERSION_MINOR >= 1)
- ss = apr_file_writev_full(f, vec, nvec, &written);
-#else
- ss = apr_file_writev(f, vec, nvec, &written);
-#endif
-
- for (i = 0; i < nvec; i++) {
- (*e)->ReleaseByteArrayElements(e, ba[i], (jbyte *)vec[i].iov_base,
- JNI_ABORT);
- }
- if (ss == APR_SUCCESS)
- return (jint)written;
- else
- return -(jint)ss;
-}
-
-TCN_IMPLEMENT_CALL(jint, File, read)(TCN_STDARGS, jlong file,
- jbyteArray buf, jint offset,
- jint toread)
-{
- apr_file_t *f = J2P(file, apr_file_t *);
- apr_size_t nbytes = (apr_size_t)toread;
- jbyte *bytes = (*e)->GetByteArrayElements(e, buf, NULL);
- apr_status_t ss;
-
- UNREFERENCED(o);
- ss = apr_file_read(f, bytes + offset, &nbytes);
-
- (*e)->ReleaseByteArrayElements(e, buf, bytes,
- ss == APR_SUCCESS ? 0 : JNI_ABORT);
- if (ss == APR_SUCCESS)
- return (jint)nbytes;
- else
- return -(jint)ss;
-}
-
-TCN_IMPLEMENT_CALL(jint, File, readb)(TCN_STDARGS, jlong file,
- jobject buf, jint offset,
- jint toread)
-{
- apr_file_t *f = J2P(file, apr_file_t *);
- apr_size_t nbytes = (apr_size_t)toread;
- char *bytes = (char *)(*e)->GetDirectBufferAddress(e, buf);
- apr_status_t ss = APR_EINVAL;
-
- UNREFERENCED(o);
- if (bytes)
- ss = apr_file_read(f, bytes + offset, &nbytes);
-
- if (ss == APR_SUCCESS)
- return (jint)nbytes;
- else
- return -(jint)ss;
-}
-
-TCN_IMPLEMENT_CALL(jint, File, readFull)(TCN_STDARGS, jlong file,
- jbyteArray buf, jint offset,
- jint toread)
-{
- apr_file_t *f = J2P(file, apr_file_t *);
- apr_size_t nbytes = (apr_size_t)toread;
- apr_size_t nread = 0;
- apr_status_t ss;
- jbyte *bytes = (*e)->GetByteArrayElements(e, buf, NULL);
-
- UNREFERENCED(o);
- ss = apr_file_read_full(f, bytes + offset, nbytes, &nread);
-
- (*e)->ReleaseByteArrayElements(e, buf, bytes,
- ss == APR_SUCCESS ? 0 : JNI_ABORT);
- if (ss == APR_SUCCESS)
- return (jint)nread;
- else
- return -(jint)ss;
-}
-
-TCN_IMPLEMENT_CALL(jint, File, readFullb)(TCN_STDARGS, jlong file,
- jobject buf, jint offset,
- jint toread)
-{
- apr_file_t *f = J2P(file, apr_file_t *);
- apr_size_t nbytes = (apr_size_t)toread;
- apr_size_t nread = 0;
- char *bytes = (char *)(*e)->GetDirectBufferAddress(e, buf);
- apr_status_t ss = APR_EINVAL;
-
- UNREFERENCED(o);
- if (bytes)
- ss = apr_file_read_full(f, bytes + offset, nbytes, &nread);
-
- if (ss == APR_SUCCESS)
- return (jint)nread;
- else
- return -(jint)ss;
-}
-
-TCN_IMPLEMENT_CALL(jint, File, gets)(TCN_STDARGS, jbyteArray buf, jint offset,
- jlong file)
-{
- apr_status_t rv;
- apr_file_t *f = J2P(file, apr_file_t *);
- jsize nbytes = (*e)->GetArrayLength(e, buf);
- jbyte *bytes = (*e)->GetByteArrayElements(e, buf, NULL);
-
- UNREFERENCED(o);
- rv = apr_file_gets((char*)(bytes + offset),nbytes - offset, f);
- (*e)->ReleaseByteArrayElements(e, buf, bytes,
- rv == APR_SUCCESS ? 0 : JNI_ABORT);
- return (jint)rv;
-}
-
-TCN_IMPLEMENT_CALL(jint, File, pipeCreate)(TCN_STDARGS, jlongArray io, jlong pool)
-{
- apr_status_t rv;
- apr_pool_t *p = J2P(pool, apr_pool_t *);
- jsize npipes = (*e)->GetArrayLength(e, io);
- jlong *pipes = (*e)->GetLongArrayElements(e, io, NULL);
- apr_file_t *in;
- apr_file_t *out;
-
- UNREFERENCED(o);
- if (npipes < 2) {
- (*e)->ReleaseLongArrayElements(e, io, pipes, JNI_ABORT);
- return APR_EINVAL;
- }
-
- rv = apr_file_pipe_create(&in, &out, p);
- if (rv == APR_SUCCESS) {
- pipes[0] = P2J(in);
- pipes[1] = P2J(out);
- (*e)->ReleaseLongArrayElements(e, io, pipes, 0);
- }
- else
- (*e)->ReleaseLongArrayElements(e, io, pipes, JNI_ABORT);
-
- return (jint)rv;
-}
-
-TCN_IMPLEMENT_CALL(jint, File, pipeTimeoutSet)(TCN_STDARGS, jlong pipe,
- jlong timeout)
-{
- apr_file_t *f = J2P(pipe, apr_file_t *);
- UNREFERENCED_STDARGS;
- return (jint)apr_file_pipe_timeout_set(f, J2T(timeout));
-}
-
-TCN_IMPLEMENT_CALL(jlong, File, pipeTimeoutGet)(TCN_STDARGS, jlong pipe)
-{
- apr_file_t *f = J2P(pipe, apr_file_t *);
- apr_interval_time_t timeout;
-
- UNREFERENCED(o);
- TCN_THROW_IF_ERR(apr_file_pipe_timeout_get(f, &timeout), timeout);
-
-cleanup:
- return (jlong)timeout;
-}
-
-TCN_IMPLEMENT_CALL(jlong, File, dup)(TCN_STDARGS, jlong newf, jlong file,
- jlong pool)
-{
- apr_file_t *f = J2P(file, apr_file_t *);
- apr_pool_t *p = J2P(pool, apr_pool_t *);
- apr_file_t *d = J2P(newf, apr_file_t *);
-
- UNREFERENCED(o);
- TCN_THROW_IF_ERR(apr_file_dup(&d, f, p), d);
-
-cleanup:
- return P2J(d);
-}
-
-TCN_IMPLEMENT_CALL(jint, File, dup2)(TCN_STDARGS, jlong newf, jlong file,
- jlong pool)
-{
- apr_file_t *f = J2P(file, apr_file_t *);
- apr_pool_t *p = J2P(pool, apr_pool_t *);
- apr_file_t *d = J2P(newf, apr_file_t *);
-
- UNREFERENCED_STDARGS;
- return (jint)apr_file_dup2(d, f, p);
-}
« no previous file with comments | « c/error.c ('k') | c/info.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698