/* Copyright (c) 2017-2018 Dovecot authors, see the included COPYING file */
#include "lib.h"
#include "ioloop.h"
#include "array.h"
#include "ostream-private.h"
#include "ostream-multiplex.h"
/* all multiplex packets are [1 byte cid][4 byte length][data] */
struct multiplex_ostream;
struct multiplex_ochannel {
};
struct multiplex_ostream {
/* channel 0 is main channel */
unsigned int remain;
};
static struct multiplex_ochannel *
{
return *channelp;
}
return NULL;
}
{
}
{
return channel;
}
static ssize_t
{
return -2;
/* ensure it fits into 32 bit int */
if (tmp == 0)
break;
}
if (ret < 0) {
return ret;
}
}
return ret;
}
static ssize_t
{
return -2;
for(unsigned int i=0; i < iov_count; i++) {
/* copy data to buffer */
if (tmp == 0)
break;
}
return ret;
return total;
}
static void
{
if (close_parent) {
return;
}
}
{
/* can't do anything until they are all closed */
return;
}
{
/* delete the channel */
break;
}
}
}
static struct ostream *
{
}
{
}
{
return o_stream_add_channel_real(mstream, 0);
}
{
}