; Assembler header file for SysLog
; Written by DefMod (Dec  9 2012) on Sun Dec  9 15:43:44 2012
; Tom Hughes, tom@compton.nu, 22 Sep 2002

; OSLib---efficient, type-safe, transparent, extensible,
; register-safe API coverage of RISC OS
; 
; Copyright (c) 1994-2012 Jonathan Coxhead and OSLib maintainers
; 
; Licence:
; 
;    OSLib is free software; you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
; the Free Software Foundation; either version 1, or (at your option)
; any later version - and this with the following clarification and
; special exception:
; 
;    Linking this library statically or dynamically with other modules
; is making a combined work based on this library. Thus, the terms
; and conditions of the GNU General Public License cover the whole
; combination.
; 
;    As a special exception, the copyright holders of this library
; give you permission to link this library with independent modules
; to produce an executable, regardless of the license terms of these
; independent modules, and to copy and distribute the resulting
; executable under terms of your choice, provided that you also meet,
; for each linked independent module, the terms and conditions of the
; license of that module. An independent module is a module which is
; not derived from or based on this library. If you modify this
; library, you may extend this exception to your version of the library,
; but you are not obliged to do so. If you do not wish to do so, delete
; this exception statement from your version.
; 
;    OSLib is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
; GNU General Public License for more details.
; 
;    You should have received a copy of the GNU General Public License
; along with this programme; if not, write to the Free Software
; Foundation, Inc, 675 Mass Ave, Cambridge, MA 02139, USA.

        [       :LNOT: :DEF: SysLog_Hdr
        GBLS    SysLog_Hdr

        [       :LNOT: :DEF: Get_Types
        GBLS    Get_Types
        ]
        [       :LNOT: :DEF: Types_Hdr
Get_Types                       SETS    "GET oslib/Types.Hdr"
        |
Get_Types                       SETS    ""
        ]
        $Get_Types

        [       :LNOT: :DEF: Get_OS
        GBLS    Get_OS
        ]
        [       :LNOT: :DEF: OS_Hdr
Get_OS                          SETS    "GET oslib/OS.Hdr"
        |
Get_OS                          SETS    ""
        ]
        $Get_OS

;Symbols for SWI's and SWI reason codes
XSysLog_LogMessage              *       &6C880
SysLog_LogMessage               *       &4C880
   ;Entry
   ;  R0 -> name_or_handle (Char)
   ;  R1 -> message (Char)
   ;  R2 = priority (Int)

XSysLog_LogMessageByHandle      *       &6C880
SysLog_LogMessageByHandle       *       &4C880
   ;Entry
   ;  R0 = handle (Bits)
   ;  R1 -> message (Char)
   ;  R2 = priority (Int)

XSysLog_GetLogLevel             *       &6C881
SysLog_GetLogLevel              *       &4C881
   ;Entry
   ;  R0 -> name_or_handle (Char)
   ;Exit
   ;  R0 = priority (Int)

XSysLog_GetLogLevelByHandle     *       &6C881
SysLog_GetLogLevelByHandle      *       &4C881
   ;Entry
   ;  R0 = handle (Bits)
   ;Exit
   ;  R0 = priority (Int)

XSysLog_FlushLog                *       &6C882
SysLog_FlushLog                 *       &4C882
   ;Entry
   ;  R0 -> name_or_handle (Char)

XSysLog_FlushLogByHandle        *       &6C882
SysLog_FlushLogByHandle         *       &4C882
   ;Entry
   ;  R0 = handle (Bits)

XSysLog_SetLogLevel             *       &6C883
SysLog_SetLogLevel              *       &4C883
   ;Entry
   ;  R0 -> name_or_handle (Char)
   ;  R1 = priority (Int)

XSysLog_SetLogLevelByHandle     *       &6C883
SysLog_SetLogLevelByHandle      *       &4C883
   ;Entry
   ;  R0 = handle (Bits)
   ;  R1 = priority (Int)

XSysLog_LogUnstamped            *       &6C884
SysLog_LogUnstamped             *       &4C884
   ;Entry
   ;  R0 -> name_or_handle (Char)
   ;  R1 -> message (Char)
   ;  R2 = priority (Int)

XSysLog_LogUnstampedByHandle    *       &6C884
SysLog_LogUnstampedByHandle     *       &4C884
   ;Entry
   ;  R0 = handle (Bits)
   ;  R1 -> message (Char)
   ;  R2 = priority (Int)

XSysLog_Indent                  *       &6C885
SysLog_Indent                   *       &4C885
   ;Entry
   ;  R0 -> name_or_handle (Char)

XSysLog_IndentByHandle          *       &6C885
SysLog_IndentByHandle           *       &4C885
   ;Entry
   ;  R0 = handle (Bits)

XSysLog_UnIndent                *       &6C886
SysLog_UnIndent                 *       &4C886
   ;Entry
   ;  R0 -> name_or_handle (Char)

XSysLog_UnIndentByHandle        *       &6C886
SysLog_UnIndentByHandle         *       &4C886
   ;Entry
   ;  R0 = handle (Bits)

XSysLog_NoIndent                *       &6C887
SysLog_NoIndent                 *       &4C887
   ;Entry
   ;  R0 -> handle (Char)

XSysLog_NoIndentByHandle        *       &6C887
SysLog_NoIndentByHandle         *       &4C887
   ;Entry
   ;  R0 = handle (Bits)

XSysLog_OpenSessionLog          *       &6C888
SysLog_OpenSessionLog           *       &4C888
   ;Entry
   ;  R0 -> name (Char)
   ;  R1 = priority (Int)
   ;Exit
   ;  R0 -> handle (Char)

XSysLog_OpenSessionLogByHandle  *       &6C888
SysLog_OpenSessionLogByHandle   *       &4C888
   ;Entry
   ;  R0 -> name (Char)
   ;  R1 = priority (Int)
   ;Exit
   ;  R0 = handle (Bits)

XSysLog_CloseSessionLog         *       &6C889
SysLog_CloseSessionLog          *       &4C889
   ;Entry
   ;  R0 -> handle (Char)

XSysLog_CloseSessionLogByHandle *       &6C889
SysLog_CloseSessionLogByHandle  *       &4C889
   ;Entry
   ;  R0 = handle (Bits)

XSysLog_LogData                 *       &6C88A
SysLog_LogData                  *       &4C88A
   ;Entry
   ;  R0 -> name_or_handle (Char)
   ;  R1 = priority (Int)
   ;  R2 -> data (data)
   ;  R3 = data_size (Int)
   ;  R4 -> base_address (data)

XSysLog_LogDataByHandle         *       &6C88A
SysLog_LogDataByHandle          *       &4C88A
   ;Entry
   ;  R0 = handle (Bits)
   ;  R1 = priority (Int)
   ;  R2 -> data (data)
   ;  R3 = data_size (Int)
   ;  R4 -> base_address (data)

XSysLog_ReadErrorMessage        *       &6C88C
SysLog_ReadErrorMessage         *       &4C88C
   ;Entry
   ;  R0 = error_number (Int)
   ;Exit
   ;  R0 -> error_message (Char)

XSysLog_LogComplete             *       &6C88D
SysLog_LogComplete              *       &4C88D
   ;Entry
   ;  R0 -> name_or_handle (Char)

XSysLog_LogCompleteByHandle     *       &6C88D
SysLog_LogCompleteByHandle      *       &4C88D
   ;Entry
   ;  R0 = handle (Bits)

XSysLog_IRQMode                 *       &6C88E
SysLog_IRQMode                  *       &4C88E
   ;Entry
   ;  R0 = flag (Bool)

XSysLog_LogCharacter            *       &6C88F
SysLog_LogCharacter             *       &4C88F

XSysLog_Control                 *       &6C890
SysLog_Control                  *       &4C890

XSysLog_Enumerate               *       &6C891
SysLog_Enumerate                *       &4C891

        ]
        END
