summaryrefslogtreecommitdiffstats
path: root/src/isode/psap/ps_alloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/isode/psap/ps_alloc.c')
-rw-r--r--src/isode/psap/ps_alloc.c73
1 files changed, 0 insertions, 73 deletions
diff --git a/src/isode/psap/ps_alloc.c b/src/isode/psap/ps_alloc.c
deleted file mode 100644
index 4f77da7f53..0000000000
--- a/src/isode/psap/ps_alloc.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/* ps_alloc.c - allocate a presentation stream */
-
-/*
- * isode/psap/ps_alloc.c
- */
-
-/*
- * NOTICE
- *
- * Acquisition, use, and distribution of this module and related
- * materials are subject to the restrictions of a license agreement.
- * Consult the Preface in the User's Manual for the full terms of
- * this agreement.
- *
- */
-
-
-/* LINTLIBRARY */
-
-#include <stdio.h>
-#include "psap.h"
-
-
-/* A Presentatation Stream (or PStream) is the second generation of
- "generic" I/O stream-based handling. (For the first attempt,
- take a look at the prototype implementation of the TTI Trusted Mail
- Agent.) The idea is to present a common, simple I/O paradigm (i.e.,
- the UNIX v7 philosophy) to protocol-translation entities regardless of
- the underlying medium (files, pipes, sockets, or strings).
-
- New streams are created by a call to ps_alloc(). It allocates memory
- and calls an open routine. This routine fills in the dispatch vectors
- for read/write and (optionally) close. It can also fill in any other
- part of the stream's structure it likes.
-
- Once created, I/O is done using the macros ps_read/ps_write. These
- return either NOTOK or OK; depending on how things went. The read/write
- routines are invoked as:
-
- int iofunc (ps, data, n, in_line)
- PS ps;
- PElementData data;
- PElementLen n;
- int in_line;
-
- They should read/write upto len bytes, starting at data, and return the
- number of bytes processed, or NOTOK on error. The routine ps_io() will
- make successive calls to fill/flush the data. If the read/write routine
- returns NOTOK, it should set ps_errno as well.
-
- Streams are removed by a call to ps_free (). It calls the close
- routine, if any, which should de-commission any parts of the stream's
- structure that are in use. ps_free() will then free the allocated
- memory.
- */
-
-/* */
-
-PS ps_alloc (io)
-register IFP io;
-{
- register PS ps;
-
- if ((ps = (PS) calloc (1, sizeof *ps)) == NULLPS)
- return NULLPS;
-
- if ((*io) (ps) == NOTOK) {
- ps_free (ps);
- return NULLPS;
- }
-
- return ps;
-}