Release 6.1.9
This commit is contained in:
102
utility/benchmarks/thread_metric/tm_api.h
Normal file
102
utility/benchmarks/thread_metric/tm_api.h
Normal file
@@ -0,0 +1,102 @@
|
||||
/**************************************************************************/
|
||||
/* */
|
||||
/* Copyright (c) Microsoft Corporation. All rights reserved. */
|
||||
/* */
|
||||
/* This software is licensed under the Microsoft Software License */
|
||||
/* Terms for Microsoft Azure RTOS. Full text of the license can be */
|
||||
/* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
|
||||
/* and in the root directory of this software. */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
/**************************************************************************/
|
||||
/**************************************************************************/
|
||||
/** */
|
||||
/** Thread-Metric Component */
|
||||
/** */
|
||||
/** Application Interface (API) */
|
||||
/** */
|
||||
/**************************************************************************/
|
||||
/**************************************************************************/
|
||||
|
||||
|
||||
/**************************************************************************/
|
||||
/* */
|
||||
/* APPLICATION INTERFACE DEFINITION RELEASE */
|
||||
/* */
|
||||
/* tm_api.h PORTABLE C */
|
||||
/* 6.1.7 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* William E. Lamie, Microsoft Corporation */
|
||||
/* */
|
||||
/* DESCRIPTION */
|
||||
/* */
|
||||
/* This file defines the basic Application Interface (API) */
|
||||
/* implementation source code for the Thread-Metrics performance */
|
||||
/* test suite. All service prototypes and data structure definitions */
|
||||
/* are defined in this file. */
|
||||
/* */
|
||||
/* RELEASE HISTORY */
|
||||
/* */
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 10-15-2021 William E. Lamie Initial Version 6.1.7 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
#ifndef TM_API_H
|
||||
#define TM_API_H
|
||||
|
||||
#include "tm_porting_layer.h"
|
||||
|
||||
/* Determine if a C++ compiler is being used. If so, ensure that standard
|
||||
C is used to process the API information. */
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
/* Yes, C++ compiler is present. Use standard C. */
|
||||
extern "C" {
|
||||
|
||||
#endif
|
||||
|
||||
/* Define API constants. */
|
||||
|
||||
#define TM_SUCCESS 0
|
||||
#define TM_ERROR 1
|
||||
|
||||
|
||||
/* Define the time interval in seconds. This can be changed with a -D compiler option. */
|
||||
|
||||
#ifndef TM_TEST_DURATION
|
||||
#define TM_TEST_DURATION 30
|
||||
#endif
|
||||
|
||||
|
||||
/* Define RTOS Neutral APIs. RTOS vendors should fill in the guts of the following
|
||||
API. Once this is done the Thread-Metric tests can be successfully run. */
|
||||
|
||||
void tm_initialize(void (*test_initialization_function)(void));
|
||||
int tm_thread_create(int thread_id, int priority, void (*entry_function)(void));
|
||||
int tm_thread_resume(int thread_id);
|
||||
int tm_thread_suspend(int thread_id);
|
||||
void tm_thread_relinquish(void);
|
||||
void tm_thread_sleep(int seconds);
|
||||
int tm_queue_create(int queue_id);
|
||||
int tm_queue_send(int queue_id, unsigned long *message_ptr);
|
||||
int tm_queue_receive(int queue_id, unsigned long *message_ptr);
|
||||
int tm_semaphore_create(int semaphore_id);
|
||||
int tm_semaphore_get(int semaphore_id);
|
||||
int tm_semaphore_put(int semaphore_id);
|
||||
int tm_memory_pool_create(int pool_id);
|
||||
int tm_memory_pool_allocate(int pool_id, unsigned char **memory_ptr);
|
||||
int tm_memory_pool_deallocate(int pool_id, unsigned char *memory_ptr);
|
||||
|
||||
|
||||
/* Determine if a C++ compiler is being used. If so, complete the standard
|
||||
C conditional started above. */
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user