JmsString Struct Reference

#include <JmsCommon.h>

Data Fields

int stringType
union {
   char *   string
   struct {
      void *   data
      JMS32I   length
   }   uniString
int allocatedSize

Detailed Description

Used to represent java strings or C STRING
When used for input to a function
When used as input, stringType must be set to CSTRING or UNISTRING. If stringType is CSTRING, then uniOrC.string should point to the UTF-8 encoded NULL-terminated C string. If stringType is UNISTRING then should point to the multi-byte string (possibly with embedded NULL characters) and uniOrC.uniString.length should contain the amount of data in bytes. (So, for example if the string is a three character two-byte java string, length should contain six)
When used as output from a function
When used as output, stringType must be set to CSTRING if the output should be represented as a UTF-8 encoded NULL-terminated C string or UNISTRING if the output should be represented as a two-byte character java string. If uniOrC.string (which also corresponds to is NULL, then the function will allocate memory for the output with malloc(). It is the responsibility of the caller of the function to later call free() on this memory. If uniOrC.string is not-NULL, then the amount of data available to be written into must be put into the allocatedSize member variable. If there is not enough space, the function will return JMS_NEED_SPACE and the amount of space needed will be placed in allocatedSize. In this case the function will have filled in as much of the data as possible.

Field Documentation

int JmsString::allocatedSize

Should be set to the size of the data available for output

void* JmsString::data

The data portion of the string

JMS32I JmsString::length

The size of data in bytes

char* JmsString::string

A NULL terminated UTF-8 encoded C string

int JmsString::stringType

The type of string represented on input or the type requested on output

union { ... } JmsString::uniOrC

Describes either a C string or multi-byte string

struct { ... } JmsString::uniString

Represents a muti-byte string

The documentation for this struct was generated from the following file:
Copyright 1996,2017, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

Oracle Fusion Middleware
JMS C API Reference for Oracle WebLogic Server
12c (

Part Number E80372-01

Generated by doxygen 1.2.18