home *** CD-ROM | disk | FTP | other *** search
- TABLE OF CONTENTS
-
- sysmon.library/smFindTaskInfo
- sysmon.library/smFreeze
- sysmon.library/smGetTaskInfo
- sysmon.library/smHalt
- sysmon.library/smNextTaskInfo
- sysmon.library/smSleep
- sysmon.library/smUnFreeze
- sysmon.library/smVKPrintf
- sysmon.library/smVSPrintf
- sysmon.library/smVSysLog
- sysmon.library/smFindTaskInfo sysmon.library/smFindTaskInfo
-
- NAME
- smFindTaskInfo -- Find TaskInfo structure by Task Name. (V0)
-
- SYNOPSIS
- tinfo = smFindTaskInfo( name )
- D0 A1
-
- struct TaskInfo *smFindTaskInfo( STRPTR name );
-
- FUNCTION
- This function will search the TaskInfo Hash Table for a task with the
- given name, and return a pointer to its TaskInfo structure. If a NULL
- name pointer is given, a pointer to the TaskInfo of the current task
- will be returned.
-
- INPUTS
- name - pointer to a NULL terminated string.
-
- RESULT
- tinfo - A pointer to the corresponding TaskInfo structure or NULL
- for an error (TaskInfo structure not found).
-
- NOTES
- Unlike the exec.library/FindTask() function, this call does not
- need to Disable() interrupts during search. It still needs to
- Forbid() task switching though.
-
- BUGS
-
- SEE ALSO
- exec.library/FindTask(), sysmon.library/smGetTaskInfo(),
- sysmon.library/smNextTaskInfo()
- sysmon.library/smFreeze sysmon.library/smFreeze
-
- NAME
- smFreeze -- Put a task out of schedule. (V0)
-
- SYNOPSIS
- success = smFreeze( task )
- D0 A1
-
- BOOL smFreeze( struct Task *task );
-
- FUNCTION
- Put a task into the TaskFrozen list. The task will no longer be
- dispatched and will not respond to signals (including exception
- signals). However, these signals are not lost ; they will be
- processed when the task comes out of the frozen state.
-
- INPUTS
- task - A pointer to a Task structure. If NULL, the current task
- will be frozen.
-
- RESULT
- success - A boolean value indicating the success of the operation.
- This call will fail if for example, the Task was already
- frozen
-
- NOTES
- This function may be called from interrupts with a non-NULL task
- pointer.
- This call is potentially dangerous. Freezing another task may lead
- to deadlocks if the task was performing critical operations under
- semaphore protection when it was frozen. So do not freeze another
- task without good reasons.
- When freezing yourself, make sure someone will bring you back to
- life by calling smUnFreeze() on you.
-
- BUGS
-
- SEE ALSO
- sysmon.library/smUnFreeze() , exec.library/Wait()
-
- sysmon.library/smGetTaskInfo sysmon.library/smGetTaskInfo
-
- NAME
- smGetTaskInfo -- Get pointer to TaskInfo structure. (V0)
-
- SYNOPSIS
- tinfo = smGetTaskInfo( task )
- D0 A0
-
- struct TaskInfo *smGetTaskInfo( struct Task *task );
-
- FUNCTION
- Get a pointer to the TaskInfo structure associated to a given
- Task.
-
- INPUTS
- task - A pointer to a Task structure. If NULL, the TaskInfo
- structure of the current task will be returned.
-
- RESULT
- tinfo - A pointer to the corresponding TaskInfo structure or NULL
- for an error (TaskInfo structure not found).
-
- NOTES
-
- BUGS
-
- SEE ALSO
- sysmon.library/smFindTaskInfo(), sysmon.library/smNextTaskInfo().
-
- sysmon.library/smHalt sysmon.library/smHalt
-
- NAME
- smHalt -- Halts the system for safe power down. (V0)
-
- SYNOPSIS
- smHalt( flags )
- D0
-
- void smHalt( ULONG flags );
-
- FUNCTION
- This function will disable multitasking, blink the power LED, kill all
- tasks except the caller, then display a guru like deadend alert saying
- 'System Shutdown Complete' (without time out).
- It is then safe to turn the power off.
- If the user presses a mouse button to cancel the alert, the system
- will reset via exec.library/ColdReboot().
- If the DEL key (ASCII $7f) is pressed on a serial port terminal while
- the power LED is blinking, control will be transfered to the ROM
- debugger (ROM-Wack for V37, SAD for V39+)
- In any case, this function never returns.
-
- INPUT
- flags - A bit pattern specifying options. Currently defined are :
- HALTB_REBOOT : The alert is not displayed, causing the system
- to reboot immediately.
- HALTB_REKICK : Forces MMU-SoftKicked machines to reload
- KickStart by disabling the MMU before rebooting. This
- requires a 68020 or greater CPU with a working MMU.
-
- WARNING
- This function does not care about filesystem consistency or whatever
- other tasks are doing when it is called. It is the responsability of
- the caller to take appropriate precautions before calling this
- function.
-
- BUGS
-
- SEE ALSO
- exec.library/ColdReboot(), exec.library/Alert()
- sysmon.library/smNextTaskInfo sysmon.library/smNextTaskInfo
-
- NAME
- smNextTaskInfo -- Get the next TaskInfo entry. (V0)
-
- SYNOPSIS
- newtinfo = smNextTaskInfo( tinfo )
- D0 A1
-
- struct TaskInfo *smNextTaskInfo( struct TaskInfo *tinfo );
-
- FUNCTION
- This function returns the next TaskInfo structure in the Hash Table,
- or NULL if there is no next entry.
-
- INPUT
- tinfo - Pointer to the current TaskInfo structure. If NULL, the
- first TaskInfo structure will be returned.
-
- RESULT
- newtinfo - A pointer to the next TaskInfo in the table, or NULL if
- the end has been reached.
-
- WARNING
- This function does not arbitrate for access to the TaskInfo HashTable.
- You must be in Forbid() when calling it.
-
- BUGS
-
- SEE ALSO
- exec.library/FindTask(), sysmon.library/smGetTaskInfo(),
- sysmon.library/smFindTaskInfo()
- sysmon.library/smSleep sysmon.library/smSleep
-
- NAME
- smSleep -- Put a task into hibernation for a specified time. (V0)
-
- SYNOPSIS
- success = smSleep( ticks )
- D0 D0
-
- BOOL smSleep( ULONG ticks );
-
- FUNCTION
- This function freezes the current task for the specified period of
- time.
-
- INPUTS
- ticks - The number of ticks (50 per second) the task will sleep.
- If ZERO, the function will return immediately.
-
- RESULT
- success - A boolean value indicating the success of the operation.
- It may fail in very low memory conditions, in that case
- the function returns immediately.
-
- NOTES
- This function uses the VBLANK unit of the timer.device with a
- PA_SOFTINT reply port.
- Because of the granularity of the VBLANK timer and the behaviour of
- the frozen state, short delays may be inaccurate.
-
- BUGS
-
- SEE ALSO
- dos.library/Delay(), sysmon.library/smFreeze(),
- sysmon.library/smUnFreeze()
-
- sysmon.library/smUnFreeze sysmon.library/smUnFreeze
-
- NAME
- smUnFreeze -- Put a frozen task back to life. (V0)
-
- SYNOPSIS
- success = smUnFreeze( task )
- D0 A1
-
- BOOL smUnFreeze( struct Task *task );
-
- FUNCTION
- Put a frozen task back into the ready or waiting list. If the task
- has received signals when it was frozen, they will be precessed now.
-
- INPUTS
- task - A pointer to a Task structure.
-
- RESULT
- success - A boolean value indicating the success of the operation.
- This call will fail if the Task was not frozen.
-
- NOTES
- This function may be called from interrupts.
- The frozen state is not intended for short time waits or realtime
- processing, so there is no guarantee that the unfrozen task will
- restart processing immediately, even if its priority is greater
- than the priority of the calling task.
-
- BUGS
-
- SEE ALSO
- sysmon.library/smFreeze(), exec.library/Wait(), exec.library/Signal()
-
- sysmon.library/smVKPrintf sysmon.library/smVKPrintf
-
- NAME
- smVKPrintf -- print formatted data to the debugging console. (V0)
- (defaults to the serial port at 9600 baud)
-
- SYNOPSIS
- smVKPrintf( format, values )
- A0 A1
-
- VOID smVKPrintf(STRPTR format, APTR values);
-
- FUNCTION
- Print a formatted C-type string to the debugging console.
- See the exec.library/RawDoFmt() call for the supported % formatting
- commands.
-
- INPUTS
- format - A C style string with % commands to indicate where parameters
- are to be inserted.
- values - A pointer to an array of parameters, to be inserted into
- specified places in the string.
-
- RESULT
- NONE
-
- NOTES
- RawDoFmt assumes 16 bit ints, so you will usually need 'l's in your
- formats (ex: %ld versus %d).
- This function may be called from interrupts.
-
- BUGS
- The exec.library/RawPutChar() called by this function will busy wait
- when a ^S character is typed at the remote console. This will hang
- the system if smVKPrintf() was called from a Forbid()/Disable()
- section or from supervisor mode. Type ^Q at the remote terminal to
- resume output.
-
- SEE ALSO
- dos.library/VPrintf(), exec.library/RawDoFmt(), debug.lib/KPrintF()
-
- sysmon.library/smVSPrintf sysmon.library/smVSPrintf
-
- NAME
- smVSPrintf -- format data to a character buffer. (V0)
-
- SYNOPSIS
- endstr = smVSPrintf( buffer, format, values )
- D0 A3 A0 A1
-
- APTR smVSPrintf(STRPTR buffer, STRPTR format, APTR values);
-
- FUNCTION
- Print a formatted C-type string to a character buffer.
- See the exec.library/RawDoFmt() call for the supported % formatting
- commands.
-
- INPUTS
- buffer - A pointer to a buffer large enough to contain the resulting
- string.
- format - A C style string with % commands to indicate where parameters
- are to be inserted.
- values - A pointer to an array of parameters, to be inserted into
- specified places in the string.
-
- RESULT
- endstr - A pointer to the end of the formatted data.
-
- NOTES
- RawDoFmt assumes 16 bit ints, so you will usually need 'l's in your
- formats (ex: %ld versus %d).
- This function may be called from interrupts.
-
- BUGS
-
- SEE ALSO
- dos.library/VPrintf(), exec.library/RawDoFmt(), ANSI-C sprintf()
-
- sysmon.library/smVSysLog sysmon.library/smVSysLog
-
- NAME
- smVSysLog -- Logs system messages to file or console. (V0)
-
- SYNOPSIS
- success = smVSysLog( priority, format, values )
- D0 D0 A0 A1
-
- BOOL smVSysLog(ULONG priority, STRPTR format, APTR values);
- BOOL smSysLog(ULONG priority, STRPTR format, ...);
-
- FUNCTION
- Formats a system message via exec.library/RawDoFmt() and logs it
- into a disk file and/or window and/or serial terminal based on
- it's priority value and user defined thresholds.
-
- INPUTS
- priority - A priority value and optional flags as defined in sysmon.i .
- Low values mean high severity.
- LOG_NOHEAD can be used to write long messages in several
- parts by skipping the header for subsequent calls.
- LOG_NOWIN and LOG_NOFILE disable window and file logging
- respectively in cases where it is not appropriate.
- format - A C style string with % commands to indicate where parameters
- are to be inserted.
- values - A pointer to an array of parameters, to be inserted into
- specified places in the string.
-
- RESULT
- success - A boolean value. TRUE for success, FALSE for an error.
-
- NOTES
- The Sysmon.server process must be running for this call to succeed.
- The format buffer is limited to SM_MAXLOGCHARS chars, so make sure
- your formatted string will not cause it to overflow.
- The higher severity codes (LOG_EMERG and LOG_ALERT) are reserved for
- system failures and should not be used by applications.
- This function may return before logging is complete.
- This function may be called from interrupts.
-
- BUGS
- If the format buffer overflows, havoc will break out.
-
- SEE ALSO
- exec.library/RawDoFmt(), sysmon.library/smVKPrintf(),
- sysmon.library/smVSPrintf()
-
-