;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Copyright (c) 2000-2002 TIMEX Corporation.
; 
; This document is the property of, and contains information proprietary to
; TIMEX Corporation.  It is to be returned upon request.  Reproduction by any
; means, disclosure, or use of its contents for other than the expressed
; purpose for which it is loaned, without the written consent of TIMEX
; Corporation, is strictly prohibited.
;
; File Name:    ktzcmac.h
;
; Macro Names:  KTZC_RELEASE_ALL_RESOURCES
;               KTZC_RELEASE_RESOURCE
;               KTZC_RESERVE_RESOURCE
;               KTZC_DISABLE_ALL_RESOURCE
;               KTZC_DEACTIVATE_ALL_RESOURCES
;               KTZC_DISABLE_RESOURCE
;               KTZC_ACTIVATE_RESOURCE
;               KTZC_RETURN_RESOURCE_OWNER
;               KTZC_SETUP_MDY_CHECK
;               KTZC_SETUP_HOUR_MINUTE_MDY
;               KTZC_SETUP_HOUR_MINUTE
;               KTZC_SETUP_MONTH
;               KTZC_SETUP_YEAR
;               KTZC_SETUP_DATE
;               KTZC_SETUP_POPUP_GENERATION
;               KTZC_SETUP_EVENT_GENERATION
;               KTZC_CANCEL_POPUPEVENT_GENERATION
;               KTZC_CHECK_ALL_RESOURCES
;               KTZC_CHECK_RESOURCE
;               KTZC_GET_FIRST_RESOURCE_OF_APPLICATION
;
; Purpose:      Macros to use the time zone check resource utilities
;
; File Change History:
;
;               05/16/2000 NLS - Created ktzmac.h for m841
;
;
; M851 Development:
;
;               11/27/2001 JDS - Modified copyright date for M851.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro Name :  KTZC_RELEASE_ALL_RESOURCES
;
; Description:  Releases all timer check resources and marks them as available.
;
; Assumptions:  none
;
; Usage:        KTZC_RELEASE_ALL_RESOURCES
;
; Macro Change History:
;
;               05/09/2000 NLS - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KTZC_RELEASE_ALL_RESOURCES  MACRO

            car     ktzcReleaseAllResources

            CALLS   SUBROUTINE , 'ktzcReleaseAllResources'

        ENDM


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro Name :  KTZC_RELEASE_RESOURCE
;
; Description:  Releases the resources associated with the specified application index
;
; Assumptions:  AReg contains the application index for removal check.
;
; Usage:        TZC_RELEASE_RESOURCE
;
; Macro Change History:
;
;               05/09/2000 NLS - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KTZC_RELEASE_RESOURCE   MACRO

            car     ktzcReleaseResource

            CALLS   SUBROUTINE , 'ktzcReleaseResource'

        ENDM


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro Name :  KTZC_RESERVE_RESOURCE
;
; Description:  Reserves a resource for the specified application
;
; Assumptions:  AReg contains the application index
;
; Usage:        KTZC_RESERVE_RESOURCE
;
;               On exit:
;
;                   BReg - {0x00 - 0xFE} Index to the timezone check resource
;                          {0xFF}        Error Code: Unable to reserve a resource
;
; Macro Change History:
;
;               05/09/2000 NLS - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KTZC_RESERVE_RESOURCE   MACRO

            car     ktzcReserveResource

            CALLS   SUBROUTINE , 'ktzcReserveResource'

        ENDM


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro Name :  KTZC_DISABLE_ALL_RESOURCES
;
; Description:  Disables all tod check resources by clearing the active flag.
;
; Assumptions:  No check is being done if the specified resource is already allocated.
;
; Usage:        KTZC_DISABLE_ALL_RESOURCES
;
; Macro Change History:
;
;               05/09/2000 NLS - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KTZC_DISABLE_ALL_RESOURCES  MACRO

            car     ktzcDisableAllResources

            CALLS   SUBROUTINE , 'ktzcDisableAllResources'

        ENDM

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro Name :  KTZC_DEACTIVATE_ALL_RESOURCES
;
; Description:  Disables all tod check resources by clearing the active flag.
;
; Assumptions:  No check is being done if the specified resource is already allocated.
;
; Usage:        KTZC_DEACTIVATE_ALL_RESOURCES
;
; Macro Change History:
;
;               05/09/2000 NLS - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KTZC_DEACTIVATE_ALL_RESOURCES   MACRO

            car     ktzcDisableAllResources

            CALLS   SUBROUTINE , 'ktzcDisableAllResources'

        ENDM


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro Name :  KTZC_DISABLE_RESOURCE
;
; Description:  Disables the current specified tod check resources by clearing the active flag.
;
; Assumptions:  No check is being done if the specified resource is already allocated.
;
;               AReg - Resource Index
;
; Usage:        KTZC_DISABLE_RESOURCE
;
; Macro Change History:
;
;               05/09/2000 NLS - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KTZC_DISABLE_RESOURCE   MACRO

            car     ktzcDisableResource

            CALLS   SUBROUTINE , 'ktzcDisableResource'

        ENDM


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro Name :  KTZC_ACTIVATE_RESOURCE
;
; Description:  Activates the current specified tod check resources by setting the active flag.
;
; Assumptions:  No check is being done if the specified resource is already allocated.
;
;               AReg - Resource Index
;
; Usage:        KTZC_ACTIVATE_RESOURCE
;
; Macro Change History:
;
;               05/09/2000 NLS - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KTZC_ACTIVATE_RESOURCE   MACRO

            car     ktzcActivateResource

            CALLS   SUBROUTINE , 'ktzcActivateResource'

        ENDM


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro Name :  KTZC_RETURN_RESOURCE_OWNER
;
; Description:  Returns the owner of the specified resource index
;
; Assumptions:  No check is being done if the specified resource is already allocated.
;
;               AReg - Resource Index
;
; Usage:        KTZC_RETURN_RESOURCE_OWNER
;
; Return Value: BReg    = Application Index
;
; Macro Change History:
;
;               05/09/2000 NLS - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KTZC_RETURN_RESOURCE_OWNER   MACRO

            car     ktzcReturnResourceOwner

            CALLS   SUBROUTINE , 'ktzcReturnResourceOwner'

        ENDM


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro Name :  KTZC_SETUP_MDY_CHECK
;
; Description:  Specify if the resource should check the month, day and year data.
;
; Assumptions:  No check is being done if the specified resource is already allocated.
;
;               AReg    - Resource Index
;               BReg    - MDY check data pattern
;
; Usage:        KTZC_SETUP_MDY_CHECK
;
; Macro Change History:
;
;               05/09/2000 NLS - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KTZC_SETUP_MDY_CHECK    MACRO

            car     ktzcSetupMDYCheck

            CALLS   SUBROUTINE , 'ktzcSetupMDYCheck'

        ENDM


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro Name :  KTZC_SETUP_HOUR_MINUTE_MDY
;
; Description:  Update the hour, minute and MDY data structure with user specified data.
;
; Assumptions:  No check is being done if the specified resource is already allocated.
;
;               AReg    - Resource Index
;               IYReg   - Source Address of Hour, Minute, MDY data structure structure
;                         Point to the minute data
;
; Usage:        KTZC_SETUP_HOUR_MINUTE_MDY
;
; Macro Change History:
;
;               05/09/2000 NLS - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KTZC_SETUP_HOUR_MINUTE_MDY  MACRO

            car     ktzcSetupHourMinuteMDY

            CALLS   SUBROUTINE , 'ktzcSetupHourMinuteMDY'

        ENDM


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro Name :  KTZC_SETUP_HOUR_MINUTE
;
; Description:  Update the hour and minute data structure with user specified data.
;
; Assumptions:  No check is being done if the specified resource is already allocated.
;
;               AReg    - Resource Index
;               IYReg   - Source Address of Minute and Hour structure (point to minute)
;
; Usage:        KTZC_SETUP_HOUR_MINUTE
;
; Macro Change History:
;
;               05/09/2000 NLS - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KTZC_SETUP_HOUR_MINUTE  MACRO

            car     ktzcSetupHourMinute

            CALLS   SUBROUTINE , 'ktzcSetupHourMinute'

        ENDM


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro Name :  KTZC_SETUP_MONTH
;
; Description:  Update the month data structure with user specified data.
;
; Assumptions:  No check is being done if the specified resource is already allocated.
;
;               AReg    - Resource Index
;               IY      - Source Address of Month data
;
; Usage:        KTZC_SETUP_MONTH
;
; Macro Change History:
;
;               05/09/2000 NLS - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KTZC_SETUP_MONTH    MACRO

            car     ktzcSetupMonth

            CALLS   SUBROUTINE , 'ktzcSetupMonth'

        ENDM


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro Name :  KTZC_SETUP_YEAR
;
; Description:  Update the year data structure with user specified data.
;
; Assumptions:  No check is being done if the specified resource is already allocated.
;
;               AReg    - Resource Index
;               IY      - Source Address of Year LO structure
;
; Usage:        KTZC_SETUP_YEAR
;
; Macro Change History:
;
;               05/09/2000 NLS - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KTZC_SETUP_YEAR MACRO

            car     ktzcSetupYear

            CALLS   SUBROUTINE , 'ktzcSetupYear'

        ENDM

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro Name :  KTZC_SETUP_DATE
;
; Description:  Update the date data structure with user specified data.
;
; Assumptions:  No check is being done if the specified resource is already allocated.
;
;               AReg    - Resource Index
;               IY      - Source Address of Date data
;
; Usage:        KTZC_SETUP_DATE
;
; Macro Change History:
;
;               05/09/2000 NLS - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KTZC_SETUP_DATE MACRO

            car     tzcSetupDate

            CALLS   SUBROUTINE , 'tzcSetupDate'

        ENDM


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro Name :  KTZC_SETUP_POPUP_GENERATION
;
; Description:  Setup resource to generate popup on matching resource with time zone.
;
; Assumptions:  No check is being done if the specified resource is already allocated.
;
;               AReg    - Resource Index
;
; Usage:        KTZC_SETUP_POPUP_GENERATION
;
; Macro Change History:
;
;               05/09/2000 NLS - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KTZC_SETUP_POPUP_GENERATION     MACRO

            car     ktzcSetupPopupGeneration

            CALLS   SUBROUTINE , 'ktzcSetupPopupGeneration'

        ENDM


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro Name :  KTZC_SETUP_EVENT_GENERATION
;
; Description:  Setup resource to generate event on matching resource with time zone.
;
; Assumptions:  No check is being done if the specified resource is already allocated.
;
;               AReg    - Resource Index
;
; Usage:        KTZC_SETUP_EVENT_GENERATION
;
; Macro Change History:
;
;               05/09/2000 NLS - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KTZC_SETUP_EVENT_GENERATION     MACRO

            car     ktzcSetupEventGeneration

            CALLS   SUBROUTINE , 'ktzcSetupEventGeneration'

        ENDM


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro Name :  KTZC_CANCEL_POPUPEVENT_GENERATION
;
; Description:  Cancel popup or event generation of specified resource
;
; Assumptions:  No check is being done if the specified resource is already allocated.
;
;               AReg    - Resource Index
;
; Usage:        KTZC_SETUP_EVENT_GENERATION
;
; Macro Change History:
;
;               05/09/2000 NLS - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KTZC_CANCEL_POPUPEVENT_GENERATION       MACRO

            car     ktzcSetupNoPopupOrEventGeneration

            CALLS   SUBROUTINE , 'ktzcSetupNoPopupOrEventGeneration'

        ENDM


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro Name :  KTZC_CHECK_ALL_RESOURCES
;
; Description:  Checks all active resources with its respective timezone for any match.
;               A request for a popup or event is passed to the kernel.
;
; Assumptions:  NONE
;
;               IXReg   - base address of the TOD resource
;
; Usage:        KTZC_CHECK_ALL_RESOURCES
;
; Macro Change History:
;
;               05/09/2000 NLS - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KTZC_CHECK_ALL_RESOURCES        MACRO

            car     ktzcCheckAllResources

            CALLS   SUBROUTINE , 'ktzcCheckAllResources'

        ENDM


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro Name :  KTZC_CHECK_RESOURCE
;
; Description:  Checks the current resource with its respective timezone for any match.
;               Assumes that the data to be compared uses the standard TOD Resource Data Structure
;
; Assumptions:  NONE
;
;               IXReg   - base address of the TOD resource
;               IYReg   - base address of the TZC resource
;
; Usage:        KTZC_CHECK_RESOURCE
;
; Return Value: AReg    = 0x00 - No match
;                       = 0xFF - Match Found
;
; Macro Change History:
;
;               05/09/2000 NLS - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KTZC_CHECK_RESOURCE     MACRO

            car     ktzcCheckAllResources

            CALLS   SUBROUTINE , 'ktzcCheckAllResources'

        ENDM


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro Name :  KTZC_COMPARE_HRMIN_WITH_PTZHRMIN
;
; Description:  Compares hour and minute data structure against the primary
;               time zone hour and minute data structure.
;
; Assumptions:  NONE
;
;               IYReg   - address of the memory hour and minute data structure
;
; Usage:        KTZC_COMPARE_HRMIN_WITH_PTZHRMIN
;
; Return Value: AReg    = 0x00 - No match
;                       = 0xFF - Match Found
;
; Macro Change History:
;
;               05/09/2000 NLS - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KTZC_COMPARE_HRMIN_WITH_PTZHRMIN        MACRO

            car     kutlComparePTZHM

            CALLS   SUBROUTINE , 'kutlComparePTZHM'

        ENDM


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro Name :  KTZC_GET_FIRST_RESOURCE_OF_APPLICATION
;
; Description:  Returns the first time zone check resource index assigned to a
;               specified application.
;
; Assumptions:  NONE
;
;               AReg    - Application Index
;
; Usage:        KTZC_GET_FIRST_RESOURCE_OF_APPLICATION
;
; Return Value: BReg    = 00H-0FEH  - Time Zone Check Resource
;                       = 0FFH      - No Resources found that meets criteria
;
; Macro Change History:
;
;               05/09/2000 NLS - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KTZC_GET_FIRST_RESOURCE_OF_APPLICATION      MACRO

            car     ktzcGetFirstResourceOfApplication

            CALLS   SUBROUTINE , 'ktzcGetFirstResourceOfApplication'

        ENDM

