Harlequin RIP SDK
skinkit.h File Reference

Main entry points for Harlequin SDK skinkit API. More...

#include "std.h"
#include "ripapiversn.h"
#include "mem.h"
#include "skinras.h"
#include "swdevice.h"
#include "swraster.h"
#include "dlliface.h"
#include "swtrace.h"
#include "ripcall.h"

Data Structures

struct  SwLeDoParams
 A structure containing the parameters for SwLeDo(). More...
 
struct  SkinDynamicBuffer
 Dynamically-allocated buffer structure used to collect configuration PostScript for a job. More...
 

Macros

#define SW_LE_STOP_PS   "/HqnConfigProvider /ProcSet findresource /quitrip get exec"
 PostScript to shut down the RIP. More...
 
#define SWLEDO_HAS_PARAM(params_, field_)    ((params_) != NULL && (params_)->size >= offsetof(SwLeDoParams, field_) + sizeof((params_)->field_))
 Given a pointer to a SwLeDoParams structure, is a named field present?
 
#define SKIN_DYNAMIC_BUFFER_INIT   {NULL, 0, 0}
 Auto and static scope initialiser for configuration data buffers.
 
#define SKINKIT_TRACENAMES(macro_)
 Extended trace names for skinkit. More...
 
#define SKINKIT_TRACETYPES(macro_)
 Extended trace types for skinkit. More...
 

Typedefs

typedef void() SwLeMONITORCALLBACK(uint32 cbBuffer, const uint8 *pBuffer)
 The type of a callback function which receives monitor information from the RIP for the current job. More...
 
typedef void() SwLeRIPEXITCALLBACK(int32 errorCode, const uint8 *pszText)
 The type of a callback function which is called when the RIP exits. Used in SwLeSetRipExitFunction(). More...
 
typedef void() SwLeRIPREBOOTCALLBACK(void)
 The type of a callback function which is called when the RIP reboots. Used in SwLeSetRipRebootFunction().
 
typedef struct SwLeDoParams SwLeDoParams
 A structure containing the parameters for SwLeDo().
 
typedef int32() SwLeParamCallback(void *pJobContext, const void *param)
 The type of callback functions triggered when a parameter is changed. More...
 
typedef struct SkinDynamicBuffer SkinDynamicBuffer
 Dynamically-allocated buffer structure used to collect configuration PostScript for a job. More...
 

Enumerations

enum  SwLeProcessQueueResult { SW_LE_QUEUE_EMPTY = 0 , SW_LE_QUEUE_JOB_OK = 1 , SW_LE_QUEUE_JOB_ERROR = 2 , SW_LE_QUEUE_NO_RIP = 3 }
 Return values for SwLeProcessInputQueue() and SwLeProcessJobs(). More...
 
enum  SwLeProcessOp {
  SW_LE_DO_INITRUNTIME , SW_LE_DO_SDK_START , SW_LE_DO_RIP_MEMINIT , SW_LE_DO_RIP_START ,
  SW_LE_DO_PROCESS_QUEUE , SW_LE_DO_RIP_STOP , SW_LE_DO_SHUTDOWN
}
 Operations for SwLeDo(). More...
 
enum  { SKINKIT_TRACE_BASE = CORE_TRACE_N , SW_TRACE_PROBE , SW_TRACE_KCALLRASTERSTART , SW_TRACE_KCALLRASTERWRITEDATA , SW_TRACE_KCALLRASTERFINISH , SW_TRACE_KCALLRASTERJOBEND , SW_TRACE_KCALLRASTERREQUIREMENTSCALLBACK , SW_TRACE_KCALLRASTERDESTINATIONCALLBACK , SW_TRACE_KCALLPARAMCALLBACK , SW_TRACE_STOREBANDINCACHE , SW_TRACE_GETBANDFROMCACHE , SW_TRACE_TIMELINE , SW_TRACE_FILE_PROGRESS , SW_TRACE_JOB_STREAM_TL , SW_TRACE_JOB_CONFIG_TL , SW_TRACE_JOB_TL , SW_TRACE_INTERPRET_PAGE_TL , SW_TRACE_RENDER_PAGE_TL , SW_TRACE_RENDER_PARTIAL_TL , SW_TRACE_RENDER_CACHE_TL , SW_TRACE_RENDER_SEPARATION_TL , SW_TRACE_RR_SCANNING_TL , SW_TRACE_TRAP_PREPARATION_TL , SW_TRACE_TRAP_GENERATION_TL , SW_TRACE_PGB_TL , SW_TRACE_SKIN_TL , SW_TRACE_SKIN_JOB_TL , SW_TRACE_RASTER_WRITE , SW_TRACE_CORE_TL , SW_TRACE_SCALABLE_RIP_TL , SW_TRACE_SCALABLERIP_JOB_TL , SW_TRACE_HVD_OUTPUT_PAGE , SW_TRACE_HVD_OUTPUT_SHEET , SKINKIT_TRACE_N }
 Enumeration of trace names for skinkit. More...
 
enum  { SKINKIT_TRACETYPE_BASE = CORE_TRACETYPE_N , SW_TRACETYPE_TITLE , SW_TRACETYPE_PROGRESS , SW_TRACETYPE_EXTEND , SW_TRACETYPE_ENDING , SW_TRACETYPE_ABORTING , SKINKIT_TRACETYPE_N }
 Enumeration of trace types for skinkit. More...
 

Functions

HqBool SwLeInitRuntime (void *pContext)
 Initializes skinkit variables prior to starting the RIP. More...
 
HqBool SwLeSDKStart (size_t *RIP_maxAddressSpaceInBytes, size_t *RIP_workingSizeInBytes, void *pMemory, SysMemFns *pSysMemFns, uint8 **reasonText)
 Initialise SDK support libraries for the RIP. More...
 
void SwLeSDKEnd (int32 exitCode)
 Shutdown the SDK support libraries. More...
 
void SwLeMemInit (size_t RIP_maxAddressSpaceInBytes, size_t RIP_workingSizeInBytes, size_t RIP_emergencySizeInBytes, void *pMemory)
 Pre-initializes the RIP, giving it the memory arena prepared by SwLeSDKStart(). More...
 
HqBool SwLeAddCustomDevices (int32 nCustomDevices, DEVICETYPE **ppCustomDevices)
 Makes DEVICETYPE objects available for discovery by the RIP. More...
 
HqBool SwLeStart (size_t RIP_maxAddressSpaceInBytes, size_t RIP_workingSizeInBytes, size_t RIP_emergencySizeInBytes, void *pMemory, SwLeMONITORCALLBACK *pfnMonitor)
 Starts the Harlequin RIP, giving it the memory arena prepared by SwLeSDKStart(). More...
 
void SwLeSetRipExitFunction (SwLeRIPEXITCALLBACK *pfnRipExit)
 Supply a callback function to be called when the RIP exits. More...
 
void SwLeSetRipRebootFunction (SwLeRIPREBOOTCALLBACK *pfnRipReboot)
 Supply a callback function to be called when the RIP reboots. More...
 
void SwLeSetRipRendererThreads (int32 nThreads)
 Sets the number of renderer threads. More...
 
int32 SwLeStop (void)
 Request that the RIP shutdown. More...
 
int32 SwLeExitCode (void)
 Returns the exit status of the RIP. More...
 
void SwLeShutdown (void)
 Performs shutdown operations when the application exits. More...
 
HqBool SwLeSetJobName (const uint8 *name, size_t namelen)
 Low-level function to set the job name used by the next job invoked by SwLeJobStart(). More...
 
void SwLeSetJobNumber (int32 jobno)
 Low-level function to set the job number used by the next job invoked by SwLeJobStart(). More...
 
HqBool SwLeJobStart (uint32 cbBuffer, uint8 *pBuffer, void *pJobContext)
 Low-level function to prepare the Harlequin RIP to receive a PostScript language job. More...
 
HqBool SwLePs (uint32 cbBuffer, uint8 *pBuffer)
 Low-level function to pass a chunk of PostScript language data to the Harlequin RIP. More...
 
HqBool SwLeJobEnd (void)
 Low-level function to terminate the current job. More...
 
int32 SwLeDo (int32 op, SwLeDoParams *params)
 Perform required operations to reach the requested SDK and RIP state. More...
 
int32 SwLeProcessInputQueue (void)
 Process a job from the skin's input queue implementation. More...
 
int32 SwLeProcessJobs (SwLeDoParams *params)
 Process jobs from the input queue using SwLeProcessInputQueue() until there are no more jobs and (optionally) no more input sources. More...
 
HqBool SwLeInJob (void)
 Low-level function to indicate if the skin is within a job. More...
 
HqBool SwLeProcessingError (void)
 Low-level function to indicate whether an error occurred in the most recent chunk of job data that was processed by the RIP. More...
 
struct sw_data_apiGetDataAPI (void)
 Get and cache the data API pointer. More...
 
HqBool SkinDynamicBufferAdd (SkinDynamicBuffer *buffer, const char *format,...)
 Helper function to write formatted string (using swncopyf()) to the end of a dynamic buffer, extending the buffer as necessary. More...
 
void SkinDynamicBufferReset (SkinDynamicBuffer *buffer)
 Reset a dynamic buffer to contain no data, but preserve the existing allocated memory. More...
 
void SkinDynamicBufferFree (SkinDynamicBuffer *buffer)
 Free any memory allocated for dynamic buffer data. More...
 
void SwLeSetHqAssertHandlers (HqAssertHandlers_t *handlers)
 Set the HQASSERT() and HQTRACE() handler functions to be used by the Skin, SDK and the RIP. More...
 
HqBool KSetSystemErrorLevel (int32 errlevel)
 Set system error record level. More...
 
int32 KGetSystemErrorLevel (void)
 Get system error record level set by KSetSystemErrorLevel().
 
void PKRecordSystemError (int32 errcode, int32 errline, const char *pErrfile, HqBool fSysErr)
 Record through the monitor callback system errors according to the error level set by KSetSystemErrorLevel(). More...
 
void SwLeProbeLogInit (void)
 Initialise timing probe logging. More...
 
void SwLeProbeLogFilename (const char *pszLog)
 Set probe log file name. More...
 
void SwLeProbeLogFinish (void)
 Finish probe logging. More...
 
HqBool SwLeProbeOption (const char *argname, const char *arg)
 Set the probe handler function for the specified arg. More...
 
HqBool SwLeProfileOption (const char *argname, const char *arg)
 Set the profile handler function for the specified arg. More...
 
void SwLeProbeOptionUsage (void)
 Display the default probe usage information. More...
 
void SwLeSetTraceHandler (SwTraceHandlerFn *handler)
 Set a probe callback function to capture fine-grained tracing information. More...
 
void SwLeTraceEnable (int32 trace, HqBool enable)
 Enable a probe to capture fine-grained tracing information. More...
 
void SwLeProbe (int id, int type, intptr_t designator)
 Call the skinkit trace handler, if installed. More...
 

Detailed Description

Main entry points for Harlequin SDK skinkit API.

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

This example is provided on an "as is" basis and without warranty of any kind. Global Graphics Software Ltd. does not warrant or make any representations regarding the use or results of use of this example.