Open Ethernet Networking (OpEN) API Guide and Reference Manual  3.6.0.3
openapi_timeranges.h
Go to the documentation of this file.
1 
9 /*********************************************************************
10 *
11 * Copyright 2017-2018 Broadcom
12 *
13 * Licensed under the Apache License, Version 2.0 (the "License");
14 * you may not use this file except in compliance with the License.
15 * You may obtain a copy of the License at
16 *
17 * http://www.apache.org/licenses/LICENSE-2.0
18 *
19 * Unless required by applicable law or agreed to in writing, software
20 * distributed under the License is distributed on an "AS IS" BASIS,
21 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22 * See the License for the specific language governing permissions and
23 * limitations under the License.
24 *
25 **********************************************************************
26 *
27 * @filename openapi_timeranges.h
28 *
29 * @purpose Time Range Configuration
30 *
31 * @component OpEN
32 *
33 * @note This code must not include any ICOS header files.
34 *
35 * @create 09/20/2017
36 *
37 * @end
38 *
39 **********************************************************************/
40 #ifndef OPENAPI_TIMERANGES_H_INCLUDED
41 #define OPENAPI_TIMERANGES_H_INCLUDED
42 
43 #include "openapi_common.h"
44 
45 #define OPEN_TIMERANGE_BUF_LEN 32
46 #define OPEN_TIMERANGE_NAME_LEN_MAX 32
47 #define OPEN_TIMERANGE_DATE_TIME_BUF_LEN 20
48 #define OPEN_TIMERANGE_DATE_TIME_PARAM_COUNT 5
49 #define OPEN_TIMERANGE_DATE_PARAM_COUNT 3
50 
51 #define OPEN_TIMERANGE_PERIODIC_FREQUENCY_MIN 0
52 #define OPEN_TIMERANGE_PERIODIC_FREQUENCY_MAX 255
53 
54 typedef enum
55 {
56  OPEN_TIMERANGE_STATUS_ACTIVE = 1,
57  OPEN_TIMERANGE_STATUS_INACTIVE = 2
58 }OPEN_TIMERANGESTATUS_t;
59 
60 /* Time range periodic entry recurrence pattern */
61 typedef enum
62 {
63  OPEN_TIMERANGE_PATTERN_WEEKLY = 0,
64  OPEN_TIMERANGE_PATTERN_DAILY = 1,
65  OPEN_TIMERANGE_PATTERN_MONTHLY = 2
66 }OPEN_TIMERANGE_PERIODIC_ENTRY_PATTERN_t;
67 
68 typedef enum
69 {
70  OPEN_TIMERANGE_EVERY_WEEKDAY = 0,
71  OPEN_TIMERANGE_EVERY_WEEKEND = 1,
72  OPEN_TIMERANGE_EVERY_DAY = 2
73 }OPEN_TIMERANGE_DAILY_t;
74 
75 typedef enum
76 {
77  OPEN_TIMERANGE_DAY_SUN = (1 << 1),
78  OPEN_TIMERANGE_DAY_MON = (1 << 2),
79  OPEN_TIMERANGE_DAY_TUE = (1 << 3),
80  OPEN_TIMERANGE_DAY_WED = (1 << 4),
81  OPEN_TIMERANGE_DAY_THU = (1 << 5),
82  OPEN_TIMERANGE_DAY_FRI = (1 << 6),
83  OPEN_TIMERANGE_DAY_SAT = (1 << 7)
84 }OPEN_TIMERANGE_DAY_t;
85 
87 {
88  uint16_t year;
89  uint8_t month;
90  uint8_t day;
91  uint8_t hour;
92  uint8_t minute;
94 
96 {
97  OPEN_TIMERANGE_DATE_AND_TIME_t openDateAndTime; /* year-month-day hh:mm */
98  OPEN_TIMERANGE_PERIODIC_ENTRY_PATTERN_t pattern;
99  uint8_t dayMask; /* mask of OPEN_TIMERANGE_DAY_t values or day in a month */
100  uint16_t frequency;
102 
103 /*****************************************************************/
119  OPEN_CONTROL_t val);
120 
121 /*****************************************************************/
137  OPEN_CONTROL_t *val);
138 
139 /*****************************************************************/
155  uint32_t *val);
156 
157 /*****************************************************************/
173  uint32_t *val);
174 
175 /*****************************************************************/
191  open_buffdesc *name);
192 
193 /*****************************************************************/
210  open_buffdesc *prevName,
211  open_buffdesc *name);
212 
213 /*****************************************************************/
230  open_buffdesc *name,
231  OPEN_TIMERANGESTATUS_t *val);
232 
233 /*****************************************************************/
250  open_buffdesc *name,
251  uint32_t *val);
252 
253 /*****************************************************************/
270  open_buffdesc *name,
271  uint32_t *val);
272 
273 /*****************************************************************/
289  open_buffdesc *name);
290 
291 /*****************************************************************/
307  open_buffdesc *name);
308 
309 /*****************************************************************/
326  open_buffdesc *name,
327  open_buffdesc *val);
328 
329 /*****************************************************************/
346  open_buffdesc *name,
347  open_buffdesc *val);
348 
349 /*****************************************************************/
366  open_buffdesc *name,
367  open_buffdesc *val);
368 
369 /*****************************************************************/
386  open_buffdesc *name,
387  open_buffdesc *val);
388 
389 /*****************************************************************/
407  open_buffdesc *name,
408  uint32_t val);
409 
410 /*****************************************************************/
428  open_buffdesc *name,
430 
431 /*****************************************************************/
450  open_buffdesc *name,
451  uint32_t entry,
453 
454 /*****************************************************************/
473  open_buffdesc *name,
474  uint32_t entry,
476 
477 /*****************************************************************/
496  open_buffdesc *name,
497  uint32_t entry,
499 
500 #endif
501 
open_error_t openapiTimeRangeDelete(openapiClientHandle_t *client_handle, open_buffdesc *name)
Deletes a time range.
open_error_t openapiTimeRangeAbsoluteEntryStartDateAndTimeGet(openapiClientHandle_t *client_handle, open_buffdesc *name, open_buffdesc *val)
Get start date and time for the given absolute time range entry.
open_error_t openapiTimeRangeNumEntriesGet(openapiClientHandle_t *client_handle, open_buffdesc *name, uint32_t *val)
Get the current number of entries configures for the specified time range.
open_error_t openapiTimeRangeNameFirstGet(openapiClientHandle_t *client_handle, open_buffdesc *name)
Get the first time range created in the system.
open_error_t
OPEN uses these enumerators to indicate the error codes.
open_error_t openapiTimeRangeAdminModeGet(openapiClientHandle_t *client_handle, OPEN_CONTROL_t *val)
Get the admin mode of time range.
open_error_t openapiTimeRangeAbsoluteEntryEndDateAndTimeAdd(openapiClientHandle_t *client_handle, open_buffdesc *name, open_buffdesc *val)
Set end date and time for the given absolute time range entry.
open_error_t openapiTimeRangeMaxNumGet(openapiClientHandle_t *client_handle, uint32_t *val)
Get the maximum number of time ranges that can be configured.
open_error_t openapiTimeRangePeriodicEntryEndDateAndTimeSet(openapiClientHandle_t *client_handle, open_buffdesc *name, uint32_t entry, OPEN_TIMERANGE_PERIODIC_ENTRY_t val)
Set periodic end date and time at which the time range becomes inactive.
open_error_t openapiTimeRangePeriodicEntryStartDateAndTimeSet(openapiClientHandle_t *client_handle, open_buffdesc *name, OPEN_TIMERANGE_PERIODIC_ENTRY_t val)
Set periodic start date and time at which the time range becomes active.
open_error_t openapiTimeRangeAbsoluteEntryStartDateAndTimeAdd(openapiClientHandle_t *client_handle, open_buffdesc *name, open_buffdesc *val)
Set start date and time for the given absolute time range entry.
open_error_t openapiTimeRangeEntryDelete(openapiClientHandle_t *client_handle, open_buffdesc *name, uint32_t val)
Remove an entry from an existing time range.
open_error_t openapiTimeRangeAdd(openapiClientHandle_t *client_handle, open_buffdesc *name)
Creates a time range.
open_error_t openapiTimeRangePeriodicEntryStartDateAndTimeGet(openapiClientHandle_t *client_handle, open_buffdesc *name, uint32_t entry, OPEN_TIMERANGE_PERIODIC_ENTRY_t *val)
Gets periodic start date and time at which the time range becomes active.
OPEN_CONTROL_t
OPEN uses these enumerators to indicate enable or disable for a given config or status parameter...
open_error_t openapiTimeRangeAdminModeSet(openapiClientHandle_t *client_handle, OPEN_CONTROL_t val)
Set the admin mode of time range.
open_error_t openapiTimeRangeAbsoluteEntryNumGet(openapiClientHandle_t *client_handle, open_buffdesc *name, uint32_t *val)
Get the absolute time range entry number for the given time range.
open_error_t openapiTimeRangeCurrNumGet(openapiClientHandle_t *client_handle, uint32_t *val)
Get the current number of time ranges configured.
open_error_t openapiTimeRangeStatusGet(openapiClientHandle_t *client_handle, open_buffdesc *name, OPEN_TIMERANGESTATUS_t *val)
Get the status for the given time range.
open_error_t openapiTimeRangeNameNextGet(openapiClientHandle_t *client_handle, open_buffdesc *prevName, open_buffdesc *name)
Get the next time range for the given time range.
open_error_t openapiTimeRangeAbsoluteEntryEndDateAndTimeGet(openapiClientHandle_t *client_handle, open_buffdesc *name, open_buffdesc *val)
Get end date and time for the given absolute time range entry.
open_error_t openapiTimeRangePeriodicEntryEndDateAndTimeGet(openapiClientHandle_t *client_handle, open_buffdesc *name, uint32_t entry, OPEN_TIMERANGE_PERIODIC_ENTRY_t *val)
Gets periodic end date and time at which the time range becomes inactive.