Initial import of libio 0.1

libio provides an abstraction for general data transport. It creates
data sources and data sinks. The sources and sinks can be connected with
multiple filters. As a result encryption and authentication can happen
completely transparent to the main core of an application. Mutliplex
nodes can be used to deal with N-fan in and M-fan out.

WWW: http://monkey.org/~provos/libio/

from Jolan Luff <jolan@cryptonomicon.org>
This commit is contained in:
sturm 2003-04-17 10:59:48 +00:00
parent 2d6d2ad737
commit 63d1e41aa5
6 changed files with 77 additions and 0 deletions

29
devel/libio/Makefile Normal file
View File

@ -0,0 +1,29 @@
# $OpenBSD: Makefile,v 1.1.1.1 2003/04/17 10:59:48 sturm Exp $
COMMENT= "abstraction for general data transport"
DISTNAME= libio-0.1
CATEGORIES= devel
MASTER_SITES= http://monkey.org/~provos/
HOMEPAGE= http://monkey.org/~provos/libio/
MAINTAINER= Jolan Luff <jolan@cryptonomicon.org>
# BSD
PERMIT_PACKAGE_CDROM= Yes
PERMIT_PACKAGE_FTP= Yes
PERMIT_DISTFILES_CDROM= Yes
PERMIT_DISTFILES_FTP= Yes
WRKDIST= ${WRKDIR}/libio
NO_REGRESS= Yes
CONFIGURE_STYLE=gnu
do-install:
${INSTALL_DATA} ${WRKSRC}/libio.a ${PREFIX}/lib
${INSTALL_DATA} ${WRKSRC}/io.h ${PREFIX}/include
.include <bsd.port.mk>

3
devel/libio/distinfo Normal file
View File

@ -0,0 +1,3 @@
MD5 (libio-0.1.tar.gz) = 7acc1df365c4ca755ffa82726b457675
RMD160 (libio-0.1.tar.gz) = 56e1bfd920189f2bc332d974e98b1c1d2bc1a09c
SHA1 (libio-0.1.tar.gz) = 34fafe589f9e04d84be146c316c8cb48878853d7

View File

@ -0,0 +1,23 @@
$OpenBSD: patch-io_c,v 1.1.1.1 2003/04/17 10:59:48 sturm Exp $
--- io.c.orig Tue Mar 26 22:41:07 2002
+++ io.c Mon Mar 10 18:48:50 2003
@@ -704,7 +704,7 @@ io_header_init(struct io_header *hdr, in
struct io_obj *
io_new_obj(int fd, int type,
- int (*method)(int, void *, size_t), size_t blocksize)
+ ssize_t (*method)(int, void *, size_t), size_t blocksize)
{
struct io_obj *obj;
@@ -759,8 +759,8 @@ io_duplex_halffree(struct io_duplex *dpl
*/
struct io_duplex *
-io_new_duplex(int fd, int (*mthd_read)(int, void *, size_t),
- int (*mthd_write)(int, const void *, size_t), size_t blocksize)
+io_new_duplex(int fd, ssize_t (*mthd_read)(int, void *, size_t),
+ ssize_t (*mthd_write)(int, const void *, size_t), size_t blocksize)
{
struct io_duplex *dplx;

View File

@ -0,0 +1,12 @@
$OpenBSD: patch-io_method_c,v 1.1.1.1 2003/04/17 10:59:48 sturm Exp $
--- io_method.c.orig Tue Mar 26 22:41:23 2002
+++ io_method.c Sun Apr 13 08:20:08 2003
@@ -59,7 +59,7 @@ ssize_t
io_method_accept(int fd, void *buf, size_t size)
{
struct sockaddr_storage from;
- size_t fromlen = sizeof(from);
+ socklen_t fromlen = sizeof(from);
if (size < sizeof(int))
return (0);

7
devel/libio/pkg/DESCR Normal file
View File

@ -0,0 +1,7 @@
libio provides an abstraction for general data transport. It creates
data sources and data sinks. The sources and sinks can be connected with
multiple filters. As a result encryption and authentication can happen
completely transparent to the main core of an application. Mutliplex
nodes can be used to deal with N-fan in and M-fan out.
WWW: ${HOMEPAGE}

3
devel/libio/pkg/PLIST Normal file
View File

@ -0,0 +1,3 @@
@comment $OpenBSD: PLIST,v 1.1.1.1 2003/04/17 10:59:48 sturm Exp $
include/io.h
lib/libio.a