Publisher API data structures hold information for callbacks, initialization, and market data messages.
typedef struct {
void (*shutdown)(void);
/* notifies caller of shutdown request */
} PUB_CALLBACKS;
            Sample structure that holds information needed by the publisher for initialization. See pub_initialize for an explanation of the members of this class.
Feed handler initialization code must specify the version of the Publisher API used, prior to calling pub_initialize(). The current version is 1.
typedef struct {
/* always set to PUB_STARTUP_VERSION */
    size_t version;
/* directory in which to locate configuration file */
    const char * config_dir; 
/* directory in which to locate RDS templates */
    const char * template_dir; 
/* indicates what type of publisher this is */
    const char * component_subtype;
/* enables/disables strict checking of messages as they are being built */
    bool strict_check; 
/* indicates whether the feed handler has initialized the logger */
    bool own_logger;
/* callbacks to the feed handler */
    PUB_CALLBACKS callbacks;  
} PUB_STARTUP;
        typedef struct {
/* MESSAGE_DEFN pointer */
void *  message_defn;	 
    uint16_t current_field_num;
/* location of destination message buffer */
    uchar * dest_buffer;
/* location of next fixed length value */
    uchar * current_fixed_data;
/* location of next variable length value */
    uchar * current_variable_data
/* length of market data message */
    uint16_t message_length;}
PUB_SEND_MESSAGE_CONTEXT;