libptpmgmt 2.0
libptpmgmt library that provides the functionality of linuxptp pmc
Loading...
Searching...
No Matches
msgCall.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: LGPL-3.0-or-later
2 SPDX-FileCopyrightText: Copyright © 2024 Erez Geva <ErezGeva2@gmail.com> */
3
11#ifndef __PTPMGMT_C_MSG_CALL_H
12#define __PTPMGMT_C_MSG_CALL_H
13
14#include "c/msg.h"
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
28typedef void (*ptpmgmt_dispatcher_callback)(void *cookie, ptpmgmt_msg msg,
29 const void *tlv, const char *idStr);
31typedef void (*ptpmgmt_dispatcher_noTlv_callback)(void *cookie,
32 ptpmgmt_msg msg);
34typedef void (*ptpmgmt_dispatcher_noTlvCallBack_callback)(void *cookie,
35 ptpmgmt_msg msg, const char *idStr);
36
38struct ptpmgmt_dispatcher_cb_t;
53 void (*free)(ptpmgmt_dispatcher dispacher);
62 bool (*assign)(ptpmgmt_dispatcher dispacher, enum ptpmgmt_mng_vals_e tlv_id,
90 void (*callHadler)(const_ptpmgmt_dispatcher dispacher, void *cookie,
91 ptpmgmt_msg msg);
102 void (*callHadler_tlv)(const_ptpmgmt_dispatcher dispacher, void *cookie,
103 ptpmgmt_msg msg, enum ptpmgmt_mng_vals_e tlv_id, const void *tlv);
110 void (*noTlv)(void *cookie, ptpmgmt_msg msg);
117 void (*noTlvCallBack)(void *cookie, ptpmgmt_msg msg, const char *idStr);
119 struct ptpmgmt_dispatcher_cb_t *cbs;
121};
122
128
141typedef bool (*ptpmgmt_builder_callback)(void *cookie, ptpmgmt_msg msg,
142 void *tlv, ptpmgmt_tlv_mem tlv_mem);
143
145struct ptpmgmt_builder_cb_t;
162 void (*free)(ptpmgmt_builder builder);
179 void (*clear)(ptpmgmt_builder builder);
188 bool (*assign)(ptpmgmt_builder builder, enum ptpmgmt_mng_vals_e tlv_id,
189 ptpmgmt_builder_callback callback);
202 bool (*buildTlv)(ptpmgmt_builder builder, void *cookie,
203 enum ptpmgmt_actionField_e actionField, enum ptpmgmt_mng_vals_e tlv_id);
205 struct ptpmgmt_builder_cb_t *cbs;
207};
208
215
216#ifdef __cplusplus
217}
218#endif
219
220#endif /* __PTPMGMT_C_MSG_CALL_H */
ptpmgmt_mng_vals_e
Management TLVs ID.
Definition mngIds.h:28
void(* ptpmgmt_dispatcher_noTlv_callback)(void *cookie, ptpmgmt_msg msg)
Definition msgCall.h:31
const struct ptpmgmt_dispatcher_t * const_ptpmgmt_dispatcher
Definition msgCall.h:21
struct ptpmgmt_dispatcher_t * ptpmgmt_dispatcher
Definition msgCall.h:23
ptpmgmt_dispatcher ptpmgmt_dispatcher_alloc()
bool(* ptpmgmt_builder_callback)(void *cookie, ptpmgmt_msg msg, void *tlv, ptpmgmt_tlv_mem tlv_mem)
Definition msgCall.h:141
const struct ptpmgmt_builder_t * const_ptpmgmt_builder
Definition msgCall.h:130
ptpmgmt_builder ptpmgmt_builder_alloc(ptpmgmt_msg msg)
void(* ptpmgmt_dispatcher_callback)(void *cookie, ptpmgmt_msg msg, const void *tlv, const char *idStr)
Definition msgCall.h:28
void(* ptpmgmt_dispatcher_noTlvCallBack_callback)(void *cookie, ptpmgmt_msg msg, const char *idStr)
Definition msgCall.h:34
struct ptpmgmt_builder_t * ptpmgmt_builder
Definition msgCall.h:132
Create and parse PTP management messages.
struct ptpmgmt_msg_t * ptpmgmt_msg
Definition msg.h:26
struct ptpmgmt_tlv_mem_t * ptpmgmt_tlv_mem
Definition msg.h:801
ptpmgmt_actionField_e
Definition types.h:199
Builder for a management TLV.
Definition msgCall.h:155
ptpmgmt_tlv_mem tlv_mem
Definition msgCall.h:157
void(* clear)(ptpmgmt_builder builder)
Definition msgCall.h:179
void(* free)(ptpmgmt_builder builder)
Definition msgCall.h:162
bool(* buildTlv)(ptpmgmt_builder builder, void *cookie, enum ptpmgmt_actionField_e actionField, enum ptpmgmt_mng_vals_e tlv_id)
Definition msgCall.h:202
ptpmgmt_tlv_mem(* getTlvMem)(const_ptpmgmt_builder builder)
Definition msgCall.h:174
bool(* assign)(ptpmgmt_builder builder, enum ptpmgmt_mng_vals_e tlv_id, ptpmgmt_builder_callback callback)
Definition msgCall.h:188
ptpmgmt_msg msg
Definition msgCall.h:156
ptpmgmt_msg(* getMsg)(const_ptpmgmt_builder builder)
Definition msgCall.h:168
Dispacher for management TLV.
Definition msgCall.h:48
void(* noTlvCallBack)(void *cookie, ptpmgmt_msg msg, const char *idStr)
Definition msgCall.h:117
bool(* assign)(ptpmgmt_dispatcher dispacher, enum ptpmgmt_mng_vals_e tlv_id, ptpmgmt_dispatcher_callback callback)
Definition msgCall.h:62
bool(* assign_noTlv)(ptpmgmt_dispatcher dispacher, ptpmgmt_dispatcher_noTlv_callback callback)
Definition msgCall.h:71
void(* noTlv)(void *cookie, ptpmgmt_msg msg)
Definition msgCall.h:110
void(* free)(ptpmgmt_dispatcher dispacher)
Definition msgCall.h:53
void(* callHadler_tlv)(const_ptpmgmt_dispatcher dispacher, void *cookie, ptpmgmt_msg msg, enum ptpmgmt_mng_vals_e tlv_id, const void *tlv)
Definition msgCall.h:102
bool(* assign_noTlvCallBack)(ptpmgmt_dispatcher dispacher, ptpmgmt_dispatcher_noTlvCallBack_callback callback)
Definition msgCall.h:81
void(* callHadler)(const_ptpmgmt_dispatcher dispacher, void *cookie, ptpmgmt_msg msg)
Definition msgCall.h:90
Definition msg.h:47
Definition msg.h:808