/*************************************************************************** * Copyright (c) 2024 Microsoft Corporation * * This program and the accompanying materials are made available under the * terms of the MIT License which is available at * https://opensource.org/licenses/MIT. * * SPDX-License-Identifier: MIT **************************************************************************/ /**************************************************************************/ /**************************************************************************/ /** */ /** GUIX Component */ /** */ /** System Management (System) */ /** */ /**************************************************************************/ #define GX_SOURCE_CODE /* Include necessary system files. */ #include "gx_api.h" #include "gx_system.h" /* Bring in externs for caller checking code. */ GX_CALLER_CHECKING_EXTERNS /**************************************************************************/ /* */ /* FUNCTION RELEASE */ /* */ /* _gxe_system_timer_stop PORTABLE C */ /* 6.1 */ /* AUTHOR */ /* */ /* Kenneth Maxwell, Microsoft Corporation */ /* */ /* DESCRIPTION */ /* */ /* This function checks for errors in system timer stop call. */ /* */ /* INPUT */ /* */ /* owner Pointer to widget control */ /* block */ /* timer_id ID of timer */ /* */ /* OUTPUT */ /* */ /* status Completion status */ /* */ /* CALLS */ /* */ /* _gx_system_timer_stop Actual system timer stop call */ /* */ /* CALLED BY */ /* */ /* GUIX Application */ /* */ /* RELEASE HISTORY */ /* */ /* DATE NAME DESCRIPTION */ /* */ /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */ /* 09-30-2020 Kenneth Maxwell Modified comment(s), */ /* resulting in version 6.1 */ /* */ /**************************************************************************/ UINT _gxe_system_timer_stop(GX_WIDGET *owner, UINT timer_id) { UINT status; GX_TIMER *next; GX_BOOL id_flag = GX_FALSE; /* Check for invalid caller. */ GX_INIT_AND_THREADS_CALLER_CHECKING /* Check for timer ID not found. */ if (timer_id) { next = _gx_system_active_timer_list; while (next) { if (next -> gx_timer_id == timer_id) { id_flag = GX_TRUE; break; } next = next -> gx_timer_next; } if (id_flag == GX_FALSE) { return(GX_NOT_FOUND); } } /* Check for invalid pointer. */ if (owner == GX_NULL) { return(GX_PTR_ERROR); } /* Check for invalid widget. */ if (owner -> gx_widget_type == 0) { return(GX_INVALID_WIDGET); } /* Call actual system timer stop. */ status = _gx_system_timer_stop(owner, timer_id); /* Return status. */ return(status); }