Converted from .HLP to .HTML by HLPTOHTML.

cc .HLP

Add_Aligned_Word_Interlocked

The _ADAWI function adds its source operand to the destination. This operation is interlocked against similar operations by other processors or devices in the system.

Syntax:

int _ADAWI(short src, short *dest); int _ADAWI(short src, unsigned short *dest);

Branch_on_Bit_Clear-Clear_Interlocked

The _BBCCI function performs the following functions in interlocked fashion:

o Returns the complement of the bit specified by the two arguments

o Clears the bit specified by the two arguments

Syntax:

int _BBCCI(int position, void *address);

Branch_on_Bit_Set-Set_Interlocked

The _BBSSI function performs the following functions in interlocked fashion:

o Returns the status of the bit specified by the two arguments

o Sets the bit specified by the two arguments

Syntax:

int _BBSSI(int position, void *address);

Find_First_Clear_Bit

The _FFC function finds the position of the first clear bit in a field. The bits are tested for clear status starting at bit 0 and extending to highest bit in the field.

Syntax:

int _FFC(int start, char size, const void *base, int *position);

Find_First_Set_Bit

The _FFS function finds the position of the first set bit in a field. The bits are tested for set status starting at bit 0 and extending to the highest bit in the field.

Syntax:

int _FFS(int start, char size, const void *base, int *position);

Halt

The _HALT function halts the processor when executed by a process running in kernel mode. This is a privileged function.

Syntax:

void _HALT(void);

Insert_Entry_into_Queue_at_Head_Interlocked

The _INSQHI function inserts an entry into the front of a queue in an indivisible manner. This operation is interlocked against similar operations by other processors or devices in the system.

Syntax:

int _INSQHI(void *new_entry, void *head);

Insert_Entry_into_Queue_at_Tail_Interlocked

The _INSQTI function inserts an entry at the end of a queue in an indivisible manner. This operation is interlocked against similar operations by other processors or devices in the system.

Syntax:

int _INSQTI(void *new_entry, void *head);

Insert_Entry_in_Queue

The _INSQUE function inserts a new entry into a queue following an existing entry.

Syntax:

int _INSQUE(void *new_entry, void *predecessor);

Load_Process_Context

The _LDPCTX function restores the register and memory management context. This is a privileged function.

Syntax:

void _LDPCTX(void);

Locate_Character

The _LOCC function locates the first character in a string matching the target character.

Syntax:

int _LOCC(char target, short length, const char *string); int _LOCC(char target, short length, const char *string, char **position);

Move_from_Processor_Register

The _MFPR function returns the contents of a processor register. This is a privileged function.

Syntax:

void _MFPR(int register_num, int *destination); void _MFPR(int register_num, unsigned int *destination);

Move_Character_3_Operand

The _MOVC3 function copies a block of memory. It is the preferred way to copy a block of memory to a new location.

Syntax:

void _MOVC3(short length, const char *src, char *dest); void _MOVC3(short length, const char *src, char *dest, char **endsrc); void _MOVC3(short length, const char *src, char *dest, char **endsrc, char **enddest);

Move_Character_5_Operand

The _MOVC5 function allows the source string specified by the pointer and length pair to be moved to the destination string specified by the other pointer and length pair. If the source string is smaller than the destination string, the destination string is padded with the specified character.

Syntax:

void _MOVC5(short srclen, const char *src, char fill, short destlen, char *dest); void _MOVC5(short srclen, const char *src, char fill, short destlen, char *dest, short *unmoved_src); void _MOVC5(short srclen, const char *src, char fill, short destlen, char *dest, short *unmoved_src, char **endsrc); void _MOVC5(short srclen, const char *src, char fill, short destlen, char *dest, short *unmoved_src, char **endsrc, char **enddest);

Move_from_Processor_Status_Longword

The _MOVPSL function stores the value of the Processor Status Longword (PSL).

Syntax:

void _MOVPSL(int *psl); void _MOVPSL(unsigned int *psl);

Move_to_Processor_Register

The _MTPR function loads a value into one of the special processor registers. It is a privileged function.

Syntax:

int _MTPR(int src, int register_num);

Probe_Read_Accessibility

The _PROBER function checks to see if you can read the first and last byte of the given address and length pair.

Syntax:

int _PROBER(char mode, short length, const void *address);

Probe_Write_Accessibility

The _PROBEW function checks the write accessibility of the first and last byte of the given address and length pair.

Syntax:

int _PROBEW(char mode, short length, const void *address);

Read_General-Purpose_Register

The _READ_GPR function returns the value of a general-purpose register.

Syntax:

int _READ_GPR(int register_number);

Remove_Entry_from_Queue_at_Head_Interlocked

The _REMQHI function removes the first entry from the queue in an in an indivisible manner. This operation is interlocked against similar operations by other processors or devices in the system.

Syntax:

int _REMQHI(void *head, void **removed_entry);

Remove_Entry_from_Queue_at_Tail_Interlocked

The _REMQTI function removes the last entry from the queue in an indivisible manner. This operation is interlocked against similar operations by other processors or devices in the system.

Syntax:

int _REMQTI(void *head, void **removed_entry);

Remove_Entry_from_Queue

The _REMQUE function removes an entry from a queue.

Syntax:

int _REMQUE(void *entry, void **removed_entry);

Scan_Characters

The _SCANC function locates the first character in a string with the desired attributes. The attributes are specified through a table and a mask.

Syntax:

int _SCANC(short length, const char *string, const char *table, char mask); int _SCANC(short length, const char *string, const char *table, char mask, char **match);

Simple_Read

The _SIMPLE_READ function reads I/O registers or shared memory. It causes a MOVB, MOVW, or MOVL instruction to be generated that cannot be moved or modified during optimization.

Syntax:

char _SIMPLE_READ(const char *source); short _SIMPLE_READ(const short *source); int _SIMPLE_READ(const int *source); long _SIMPLE_READ(const long *source);

Simple_Write

The _SIMPLE_WRITE function writes to I/O registers or shared memory. It causes a MOVB, MOVW, or MOVL instruction to be generated that cannot be moved or modified during optimization.

Syntax:

void _SIMPLE_WRITE(char value, char *dest); void _SIMPLE_WRITE(short value, short *dest); void _SIMPLE_WRITE(int value, int *dest); void _SIMPLE_WRITE(long value, long *dest);

Skip_Character

The _SKPC function locates the first character in a string that does not match the target character.

Syntax:

int _SKPC(char target, short length, const char *string); int _SKPC(char target, short length, const char *string, char **position);

Span_Characters

The _SPANC function locates the first character in a string without certain attributes. The attributes are specified through a table and a mask.

Syntax:

int _SPANC(short length, const char *string, const char *table, char mask); int _SPANC(short length, const char *string, const char *table, char mask, char **position);

Save_Process_Context

The _SVPCTX function saves the context of a process. The general-purpose registers are saved in the process control block which is later used to resume a process. This function is privileged.

Syntax:

void _SVPCTX(void);

Write_General_Purpose_Register

The _WRITE_GPR function loads a value into a specified general-purpose register.

Syntax:

void _WRITE_GPR(int value, int register_number);