Skip to content

Commit 03fe569

Browse files
committed
add SRP API in chapter4
1 parent d47864b commit 03fe569

File tree

1 file changed

+274
-1
lines changed

1 file changed

+274
-1
lines changed

rtos-docs/netx-duo/chapter4.md

Lines changed: 274 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13129,4 +13129,277 @@ No
1312913129
- nx_shaper_default_mapping_get
1313013130
- nx_shaper_mapping_set
1313113131
- nx_shaper_cbs_parameter_set
13132-
- nx_shaper_fp_parameter_set
13132+
- nx_shaper_fp_parameter_set
13133+
13134+
## nx_srp_init
13135+
Initialization of SRP.
13136+
13137+
### Prototype
13138+
13139+
```c
13140+
UINT nx_srp_init(NX_SRP *srp_ptr, NX_IP *ip_ptr, UINT interface_index, NX_PACKET_POOL *pkt_pool_ptr,
13141+
VOID *stack_ptr, ULONG stack_size, UINT priority);
13142+
```
13143+
### Description
13144+
13145+
This function initialize SRP, it initializes MRP, MSRP, MVRP sequencly, and create a thread in MRP initializaton.
13146+
13147+
### Parameters
13148+
13149+
- *srp_ptr*: Pointer to SRP instance.
13150+
- *ip_ptr*: Pointer to IP instance.
13151+
- *interface_index*: Index of the network interface to use SRP.
13152+
- *pkt_pool_ptr*: pointer to Packet pool.
13153+
- *stack_ptr*: pointer to SRP thread Stack.
13154+
- *stack_size*: SRP thread Stack size .
13155+
- *priority*: SRP thread priority.
13156+
13157+
13158+
### Return Values
13159+
13160+
- **NX_SUCCESS** (0x00) Successful init
13161+
- **NX_INVALID_INTERFACE** (0x4C) Invalid interface index
13162+
- **NX_PTR_ERROR** (0x07) Invalid IP pointer
13163+
13164+
### Allowed From
13165+
13166+
Threads
13167+
13168+
### Preemption Possible
13169+
13170+
No
13171+
13172+
### Example
13173+
13174+
```c
13175+
#define SRP_THREAD_PRIORITY 5
13176+
#define SRP_INTERFACE 0
13177+
NX_SRP nx_srp;
13178+
NX_IP ip_0;
13179+
NX_PACKET_POOL pool_0;
13180+
ULONG srp_stack[2048 *2 / sizeof(ULONG)];
13181+
13182+
/* Create the SRP client instance */
13183+
nx_srp_init(&nx_srp, &ip_0, SRP_INTERFACE, &pool_0,
13184+
(UCHAR *)srp_stack, sizeof(srp_stack), SRP_THREAD_PRIORITY);
13185+
13186+
13187+
```
13188+
### See Also
13189+
13190+
- nx_srp_talker_start
13191+
- nx_srp_talker_stop
13192+
- nx_srp_listener_start
13193+
- nx_srp_listener_stop
13194+
13195+
13196+
13197+
## nx_srp_talker_start
13198+
Start SRP talker.
13199+
13200+
### Prototype
13201+
13202+
```c
13203+
UINT nx_srp_talker_start(NX_SRP *srp_ptr, NX_MSRP_DOMAIN *srp_domain, UCHAR *stream_id, UCHAR *dest_addr,
13204+
UINT max_frame_size, UINT max_interval_frames, NX_MRP_EVENT_CALLBACK event_callback);
13205+
```
13206+
### Description
13207+
13208+
This function start SRP talker, it sets event callback funtions and register domain, Vlan, stream request.
13209+
13210+
### Parameters
13211+
13212+
- *srp_ptr*: Pointer to SRP instance.
13213+
- *event_callback*: callback invoked by application to monitor the SRP process.
13214+
- *stream_id*: stream id of talker advertised.
13215+
13216+
13217+
### Return Values
13218+
13219+
- **NX_SUCCESS** (0x00) Successful start
13220+
- **NX_INVALID_PARAMETERS** (0x4D) Invalid parameter
13221+
- **NX_MSRP_EVENT_NOT_SUPPORTED** (0x06) unsupported event
13222+
- **NX_MSRP_ATTRIBUTE_FIND_ERROR** (0x09) not found attribute
13223+
13224+
13225+
### Allowed From
13226+
13227+
Threads
13228+
13229+
### Preemption Possible
13230+
13231+
No
13232+
13233+
### Example
13234+
13235+
```c
13236+
#define SRP_THREAD_PRIORITY 5
13237+
#define SRP_INTERFACE 0
13238+
NX_SRP nx_srp;
13239+
UINT MaxFrameSize = 1300;
13240+
UINT MaxIntervalFrames = 1;
13241+
UCHAR dest_addr[6] ={0X91,0XE0,0XF0,0X00,0X0E,0X80};
13242+
UCHAR stream_id[8] = {0X00,0X11,0X22,0X33,0X44,0X56,0,1};
13243+
NX_MSRP_DOMAIN srp_domain = {5,2,2};
13244+
UINT srp_event_callback(NX_MRP_PARTICIPANT* participant, NX_MRP_ATTRIBUTE* attribute, UCHAR event,VOID *callback_data);
13245+
13246+
/* start the SRP client */
13247+
status = nx_srp_talker_start(&nx_srp, &srp_domain, stream_id, dest_addr,
13248+
MaxFrameSize, MaxIntervalFrames, srp_event_callback);
13249+
13250+
13251+
```
13252+
### See Also
13253+
13254+
- nx_srp_init
13255+
- nx_srp_talker_stop
13256+
- nx_srp_listener_start
13257+
- nx_srp_listener_stop
13258+
13259+
## nx_srp_talker_stop
13260+
Stop SRP talker.
13261+
13262+
### Prototype
13263+
13264+
```c
13265+
UINT nx_srp_talker_stop(NX_SRP *srp_ptr, UCHAR *stream_id, NX_MSRP_DOMAIN *domain)
13266+
```
13267+
### Description
13268+
13269+
This function stop SRP talker. It withdraw the domain,Vlan,stream request.
13270+
13271+
### Parameters
13272+
13273+
- *srp_ptr*: Pointer to SRP instance.
13274+
- *stream_id*: stream id of talker advertised.
13275+
- *domain*: domain of SRP talker.
13276+
13277+
13278+
### Return Values
13279+
13280+
- **NX_SUCCESS** (0x00) Successful stop
13281+
- **NX_INVALID_PARAMETERS** (0x4D) Invalid parameter
13282+
- **NX_MSRP_EVENT_NOT_SUPPORTED** (0x06) unsupported event
13283+
- **NX_MSRP_ATTRIBUTE_FIND_ERROR** (0x09) not found attribute
13284+
13285+
### Allowed From
13286+
13287+
Threads
13288+
13289+
### Preemption Possible
13290+
13291+
No
13292+
13293+
### Example
13294+
13295+
```c
13296+
NX_SRP nx_srp;
13297+
UCHAR stream_id[8] = {0X00,0X11,0X22,0X33,0X44,0X56,0,1};
13298+
NX_MSRP_DOMAIN srp_domain = {5,2,2};
13299+
13300+
nx_srp_talker_stop(&nx_srp,stream_id, &srp_domain );
13301+
```
13302+
### See Also
13303+
13304+
- nx_srp_init
13305+
- nx_srp_talker_start
13306+
- nx_srp_listener_start
13307+
- nx_srp_listener_stop
13308+
13309+
## nx_srp_listener_start
13310+
Start SRP listener.
13311+
13312+
### Prototype
13313+
13314+
```c
13315+
13316+
UINT nx_srp_listener_start(NX_SRP *srp_ptr, NX_MRP_EVENT_CALLBACK event_callback, UCHAR *stream_id)
13317+
```
13318+
### Description
13319+
13320+
This function start SRP listener. It enables listener and set user date and callback function.
13321+
13322+
### Parameters
13323+
13324+
- *srp_ptr*: Pointer to SRP instance.
13325+
- *event_callback*: callback invoked by application to monitor the SRP process.
13326+
- *stream_id*: stream id of listener attached.
13327+
13328+
13329+
### Return Values
13330+
13331+
- **NX_MSRP_SUCCESS** (0x00) Successful listener start
13332+
13333+
13334+
### Allowed From
13335+
13336+
Threads
13337+
13338+
### Preemption Possible
13339+
13340+
No
13341+
13342+
### Example
13343+
13344+
```c
13345+
NX_SRP nx_srp;
13346+
UCHAR stream_id[8] = {0X00,0X11,0X22,0X33,0X44,0X56,0,1};
13347+
UINT srp_event_callback(NX_MRP_PARTICIPANT* participant, NX_MRP_ATTRIBUTE* attribute, UCHAR event,VOID *callback_data);
13348+
13349+
nx_srp_listener_start(&nx_srp, srp_event_callback, stream_id)
13350+
```
13351+
### See Also
13352+
13353+
- nx_srp_init
13354+
- nx_srp_talker_start
13355+
- nx_srp_talker_stop
13356+
- nx_srp_listener_stop
13357+
13358+
## nx_srp_listener_stop
13359+
Stop SRP listener.
13360+
13361+
### Prototype
13362+
13363+
```c
13364+
UINT nx_srp_listener_stop(NX_SRP *srp_ptr, UCHAR *stream_id, NX_MSRP_DOMAIN *domain)
13365+
```
13366+
### Description
13367+
13368+
This function stop SRP listener. It unregister the domain,Vlan stream attached to talker.
13369+
13370+
### Parameters
13371+
13372+
- *srp_ptr*: Pointer to SRP instance.
13373+
- *stream_id*: Stream id of listener attached to.
13374+
- *domain*: Domain of listener attached to.
13375+
13376+
### Return Values
13377+
13378+
- **NX_SUCCESS** (0x00) Successful stop
13379+
- **NX_INVALID_PARAMETERS** (0x4D) Invalid parameter
13380+
- **NX_MSRP_EVENT_NOT_SUPPORTED** (0x06) unsupported event
13381+
- **NX_MSRP_ATTRIBUTE_FIND_ERROR** (0x09) not found attribute
13382+
13383+
### Allowed From
13384+
13385+
Threads
13386+
13387+
### Preemption Possible
13388+
13389+
No
13390+
13391+
### Example
13392+
13393+
```c
13394+
NX_SRP nx_srp;
13395+
UCHAR stream_id[8] = {0X00,0X11,0X22,0X33,0X44,0X56,0,1};
13396+
NX_MSRP_DOMAIN srp_domain = {5,2,2};
13397+
13398+
nx_srp_listener_stop(&nx_srp,stream_id, &srp_domain );
13399+
```
13400+
### See Also
13401+
13402+
- nx_srp_init
13403+
- nx_srp_talker_start
13404+
- nx_srp_talker_stop
13405+
- nx_srp_listener_start

0 commit comments

Comments
 (0)