Harlequin RIP SDK
Low-level Harlequin Core RIP interfaces

Low-level Harlequin Core RIP interfaces. More...

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 Harlequin Core RIP interfaces.

Do not call these interfaces directly. Use the recommended SwLeDo() interface to control the SDK and RIP instead.

Macro Definition Documentation

◆ SWArgcTag

#define SWArgcTag   (19)
Deprecated:
This tag is obsolete.

◆ SWArgvTag

#define SWArgvTag   (20)
Deprecated:
This tag is obsolete.

◆ SWDllNamePthreadsTag

#define SWDllNamePthreadsTag   (13)
Deprecated:
This tag is obsolete.

◆ SWMemSharedTag

#define SWMemSharedTag   (10)
Deprecated:
This tag is obsolete.

◆ SWMvarTag

#define SWMvarTag   (11)
Deprecated:
This tag is obsolete.

◆ SWThreadTag

#define SWThreadTag   (6)
Deprecated:
This tag is obsolete

◆ SWZipArchiveNameTag

#define SWZipArchiveNameTag   (12)
Deprecated:
This tag is obsolete.

Typedef Documentation

◆ SWSTART

typedef struct SWSTART SWSTART

Container for a single, specific start-up directive given to the RIP.

The SwStart() function is passed an array of these structures. The size of the array is not specified, but the final entry must have a tag value of SWEndTag to terminate the list.

Function Documentation

◆ SwInit()

HqBool SwInit ( SWSTART mem)

Initialise the Core RIP, but do not start the server loop.

This call must be used before SwStart() if any core modules are to be registered.

Parameters
memPointer to the base of an array of SWSTART structures. Each entry provides a configuration parameter. The final entry must have a tag value of SWEndTag to terminate the list.
Return values
TRUEif successful;
FALSEif the RIP could not be initialised.

◆ SwStart()

HqBool SwStart ( SWSTART start)

Start the RIP. The core RIP provides this function.

This call may be made after SwInit(), or instead of it. If any core modules are to be registered, SwInit() must be called first, followed by the module registrations, and only then SwStart().

Parameters
startPointer to the base of an array of SWSTART structures. Each entry provides a configuration parameter. The final entry must have a tag value of SWEndTag to terminate the list.
Return values
TRUEif successful;
FALSEif the RIP did not start.

◆ SwStop()

void SwStop ( void  )

Stop the RIP. The core RIP provides this function.

This only has an effect after SwStart() has been called and before SwStart() returns. This function will return immediately.

◆ SwThreadIndex()

uint32 SwThreadIndex ( void  )

Return a zero-based index of a RIP thread executing a callback.

The core RIP provides this function.