summaryrefslogtreecommitdiffstats
path: root/debian/transcode/transcode-1.1.7/avilib/platform_posix.c
diff options
context:
space:
mode:
authorMichele Calgaro <michele.calgaro@yahoo.it>2020-09-11 14:38:47 +0900
committerMichele Calgaro <michele.calgaro@yahoo.it>2020-09-11 14:38:47 +0900
commit884c8093d63402a1ad0b502244b791e3c6782be3 (patch)
treea600d4ab0d431a2bdfe4c15b70df43c14fbd8dd0 /debian/transcode/transcode-1.1.7/avilib/platform_posix.c
parent14e1aa2006796f147f3f4811fb908a6b01e79253 (diff)
downloadextra-dependencies-884c8093d63402a1ad0b502244b791e3c6782be3.tar.gz
extra-dependencies-884c8093d63402a1ad0b502244b791e3c6782be3.zip
Added debian extra dependency packages.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
Diffstat (limited to 'debian/transcode/transcode-1.1.7/avilib/platform_posix.c')
-rw-r--r--debian/transcode/transcode-1.1.7/avilib/platform_posix.c151
1 files changed, 151 insertions, 0 deletions
diff --git a/debian/transcode/transcode-1.1.7/avilib/platform_posix.c b/debian/transcode/transcode-1.1.7/avilib/platform_posix.c
new file mode 100644
index 00000000..0ce71cd0
--- /dev/null
+++ b/debian/transcode/transcode-1.1.7/avilib/platform_posix.c
@@ -0,0 +1,151 @@
+/*
+ * platform_posix.c -- plain POSIX platform wrappers.
+ * (C) 2007-2010 - Francesco Romani <fromani -at- gmail -dot- com>
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ */
+
+#include "platform.h"
+
+#include <string.h>
+#include <stdarg.h>
+#include <errno.h>
+
+
+/*************************************************************************/
+/* I/O is straightforward. */
+/*************************************************************************/
+
+int plat_open(const char *pathname, int flags, int mode)
+{
+ return open(pathname, flags, mode);
+}
+
+int plat_close(int fd)
+{
+ return close(fd);
+}
+
+/*
+ * automatically restart after a recoverable interruption
+ */
+ssize_t plat_read(int fd, void *buf, size_t count)
+{
+ ssize_t n = 0, r = 0;
+
+ while (r < count) {
+ n = read(fd, buf + r, count - r);
+ if (n == 0)
+ break;
+ if (n < 0) {
+ if (errno == EINTR)
+ continue;
+ else
+ break;
+ }
+
+ r += n;
+ }
+ return r;
+}
+
+/*
+ * automatically restart after a recoverable interruption
+ */
+ssize_t plat_write(int fd, const void *buf, size_t count)
+{
+ ssize_t n = 0, r = 0;
+
+ while (r < count) {
+ n = write(fd, buf + r, count - r);
+ if (n < 0)
+ return n;
+
+ r += n;
+ }
+ return r;
+}
+
+
+int64_t plat_seek(int fd, int64_t offset, int whence)
+{
+ return lseek(fd, offset, whence);
+}
+
+int plat_ftruncate(int fd, int64_t length)
+{
+ return ftruncate(fd, length);
+}
+
+
+
+/*************************************************************************/
+/* Memory management is straightforward too. */
+/*************************************************************************/
+
+void *_plat_malloc(const char *file, int line, size_t size)
+{
+ return malloc(size);
+}
+
+void *_plat_zalloc(const char *file, int line, size_t size)
+{
+ return calloc(1, size);
+}
+
+void *_plat_realloc(const char *file, int line, void *ptr, size_t size)
+{
+ return realloc(ptr, size);
+}
+
+void plat_free(void *ptr)
+{
+ free(ptr);
+}
+
+
+
+/*************************************************************************/
+/* Trivial logging support. */
+/*************************************************************************/
+
+int plat_log_open(void)
+{
+ return 0;
+}
+
+int plat_log_send(PlatLogLevel level,
+ const char *tag, const char *fmt, ...)
+{
+ char buffer[1024];
+ va_list ap;
+
+ va_start(ap, fmt);
+ vsnprintf(buffer, 1024, fmt, ap);
+ va_end(ap);
+
+ fprintf(stderr, "[%s] %s\n", tag, buffer);
+
+ return 0;
+}
+
+int plat_log_close(void)
+{
+ return 0;
+}
+
+// EOF