* void timeout_callback(sapi_timer_handle_t handle, void *ctx) {
* log_warning("Operation timeout!");
* // Timer fired once and stopped
* }
*
* void operation_with_timeout(void) {
* sapi_timer_config_t config = {
* .mode = SAPI_TIMER_MODE_ONE_SHOT,
* .period_ms = 5000, // 5 second timeout
* .callback = timeout_callback,
* .user_ctx = NULL
* };
*
* sapi_timer_create(&timeout_storage, &config, &timer);
* sapi_timer_start(timer);
*
* // Do operation...
* if (operation_completed) {
* sapi_timer_stop(timer); // Cancel timeout
* }
* // If operation takes >5s, timeout fires
* }
*