Exemple #1
0
void
IsoSession_createAcceptSpdu(IsoSession* self, BufferChain buffer, BufferChain payload)
{
    int offset = 0;
    uint8_t* buf = buffer->buffer;
    int lengthOffset;

    int payloadLength = payload->length;

    buf[offset++] = 14; /* ACCEPT SPDU */
    lengthOffset = offset;
    offset++;

    offset = encodeConnectAcceptItem(buf, offset, self->protocolOptions);

    offset = encodeSessionRequirement(self, buf, offset);

    offset = encodeCalledSessionSelector(self, buf, offset);

    offset = encodeSessionUserData(self, buf, offset, payloadLength);

    int spduLength = (offset - lengthOffset - 1) + payloadLength;

    buf[lengthOffset] = spduLength;

    buffer->partLength = offset;
    buffer->length = offset + payloadLength;
    buffer->nextPart = payload;
}
void
IsoSession_createConnectSpdu(IsoSession* self, ByteBuffer* buffer, uint8_t payloadLength)
{
	int offset = buffer->size;
	uint8_t* buf = buffer->buffer;
	int lengthOffset;

	buf[offset++] = 13; /* CONNECT SPDU */
	lengthOffset = offset; offset++; /* Skip byte for length - fill it later */

	offset = encodeConnectAcceptItem(buf, offset, 0);

	offset = encodeSessionRequirement(self, buf, offset);

	offset = encodeCallingSessionSelector(self, buf, offset);

	offset = encodeCalledSessionSelector(self, buf, offset);

	offset = encodeSessionUserData(self, buf, offset, payloadLength);

	int spduLength = (offset - lengthOffset - 1) + payloadLength;

	buf[lengthOffset] = spduLength;

	buffer->size = offset;
}
Exemple #3
0
void
IsoSession_createConnectSpdu(IsoSession* self, IsoConnectionParameters isoParameters, BufferChain buffer, BufferChain payload)
{
    int offset = 0;
    uint8_t* buf = buffer->buffer;
    int lengthOffset;

    buf[offset++] = 13; /* CONNECT SPDU */
    lengthOffset = offset;
    offset++; /* Skip byte for length - fill it later */

    self->calledSessionSelector = isoParameters->remoteSSelector;
    self->callingSessionSelector = isoParameters->localSSelector;

    offset = encodeConnectAcceptItem(buf, offset, 0);

    offset = encodeSessionRequirement(self, buf, offset);

    offset = encodeCallingSessionSelector(self, buf, offset);

    offset = encodeCalledSessionSelector(self, buf, offset);

    offset = encodeSessionUserData(self, buf, offset, payload->length);

    int spduLength = (offset - lengthOffset - 1) + payload->length;

    buf[lengthOffset] = spduLength;

    buffer->partLength = offset;
    buffer->length = offset + payload->length;
    buffer->nextPart = payload;
}
void
IsoSession_createAcceptSpdu(IsoSession* self, ByteBuffer* buffer, uint8_t payloadLength)
{
	int offset = buffer->size;
	uint8_t* buf = buffer->buffer;
	int lengthOffset;

	buf[offset++] = 14; /* ACCEPT SPDU */
	lengthOffset = offset; offset++;

	offset = encodeConnectAcceptItem(buf, offset, self->protocolOptions);

	offset = encodeSessionRequirement(self, buf, offset);

	offset = encodeCalledSessionSelector(self, buf, offset);

	offset = encodeSessionUserData(self, buf, offset, payloadLength);

	int spduLength = (offset - lengthOffset - 1) + payloadLength;

	buf[lengthOffset] = spduLength;

	buffer->size = offset;
}