Harlequin RIP SDK
swstart.h File Reference

Low-level entry points for Harlequin Core RIP. More...

#include "mps.h"
#include "ripcall.h"
#include <stddef.h>

Data Structures

struct  SWSTART
 Container for a single, specific start-up directive given to the RIP. More...
 
struct  SWSTART_MEMORY
 Specifies a memory arena and its size. More...
 
struct  SWSTART_MEMCFG
 Specifies a memory configuration. More...
 
struct  SWSTART_SHMEM
 Specifies a shared memory arena and its size. More...
 

Macros

#define SWEndTag   (-1)
 Terminator for array of SWSTART structures.
 
#define SWMemoryTag   (1)
 Memory required by the RIP; value is pointer_value type to SWSTART_MEMORY.
 
#define SWLocalMemoryTag   (2)
 In multiprocess version, the above memory is shared, and this memory is local to each renderer.
 
#define SWBandSizeTag   (3)
 Amount of memory to dedicate to bands/frame initially (in Kb): default 512Kb

 
#define SWDevTypesTag   (4)
 Device type array supplied by the skin; value is pointer_value type to an array of DEVICETYPE pointers, terminated by a NULL entry.
 
#define SWNThreadsTag   (5)
 The number of active threads to use in the RIP.
 
#define SWThreadTag   (6)
 
#define SWBandFactTag   (8)
 Defines if we do Band Factoring; default 0.0

 
#define SWMemCfgTag   (9)
 Use instead of SWMemoryTag for RIP to manage its own memory, growing as required.
 
#define SWMemSharedTag   (10)
 
#define SWMvarTag   (11)
 
#define SWZipArchiveNameTag   (12)
 
#define SWDllNamePthreadsTag   (13)
 
#define SWSwStartReturnsTag   (14)
 Boolean value stored in int_value (0|1). Informs the RIP whether SwStart() should return or not. If not specified, SwStart() will never return. i.e. exit() will be called when RIP shuts down.
 
#define SWTraceHandlerTag   (15)
 Trace handler function is stored in probe_function. The trace function should match the SwTraceHandlerFn typedef from swtrace.h. The trace handler is called in some special builds to record profiling information.
 
#define SWNThreadsMaxTag   (16)
 Maximum size of thread pool.
 
#define SWRDRAPITag   (17)
 The RDR api from which all other APIs can be found. Value is a pointer_value pointing at the RDR API structure corresponding to the RDR API version in ripapiversn.h.
 
#define SWTimelineParentTag   (18)
 The parent timeline for the core RIP instance.
 
#define SWArgcTag   (19)
 
#define SWArgvTag   (20)
 

Typedefs

typedef struct SWSTART SWSTART
 Container for a single, specific start-up directive given to the RIP. More...
 

Functions

HqBool SwInit (SWSTART *mem)
 Initialise the Core RIP, but do not start the server loop. More...
 
HqBool SwStart (SWSTART *start)
 Start the RIP. The core RIP provides this function. More...
 
void SwStop (void)
 Stop the RIP. The core RIP provides this function. More...
 
uint32 SwThreadIndex (void)
 Return a zero-based index of a RIP thread executing a callback. More...
 
void SwTerminating (int32 code, uint8 *string)
 The OEM skin is required to implement this function.
 
void SwReboot (void)
 The OEM skin is required to implement this function.
 

Detailed Description

Low-level entry points for Harlequin Core RIP.

This header file contains detail enabling the rip to be started by the downward call to SwStart().

SwStart is passed a pointer to an array of SWSTART structures. Each element contains one item of information which the RIP may need to start up properly, and consists of two fields: a tag field to identify what aspect of the RIP this element affects, and a value field, the meaning of which depends on the tag. If this is used as a pointer to a string, the string should be null terminated.

The last such element (there must always be at least one) contains a tag SWEndTag; the value of this one is ignored.

The reason for this mechanism is to allow compatibility with later versions of the system, and different requirements of different customers.

Copyright (C) 2023 Global Graphics Software Ltd. All rights reserved. Global Graphics Software Ltd. Confidential Information.