Knight KE / Mbed OS Game_Master
Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers emac_ctp.h Source File

emac_ctp.h

00001 /*
00002  * Copyright (c) 2017, ARM Limited, All Rights Reserved
00003  * SPDX-License-Identifier: Apache-2.0
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License"); you may
00006  * not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  * http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
00013  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef EMAC_CTP_H
00019 #define EMAC_CTP_H
00020 
00021 enum ctp_function {
00022     CTP_NONE,
00023     CTP_FORWARD,
00024     CTP_REPLY
00025 };
00026 
00027 // Test memory manager options
00028 #define CTP_OPT_HEAP           0x01   // Allocate link_out() frame from heap
00029 #define CTP_OPT_NON_ALIGNED    0x02   // Force memory buffers to be non-aligned
00030 
00031 /* Builds and sends CTP message. Forward to address is the address where echo server sends the reply.
00032    Default is own Ethernet MAC address. Options can be used to specify test memory manager options.
00033  */
00034 #define CTP_MSG_SEND(length, send_to_address, own_address, forward_to_address, mem_mngr_options) \
00035     emac_if_ctp_msg_build(length, send_to_address, own_address, forward_to_address, mem_mngr_options)
00036 
00037 ctp_function emac_if_ctp_header_handle(unsigned char *eth_input_frame, unsigned char *eth_output_frame, unsigned char *origin_addr, int *receipt_number);
00038 void emac_if_ctp_msg_build(int eth_frame_len, const unsigned char *dest_addr, const unsigned char *origin_addr, const unsigned char *forward_addr, int options);
00039 void emac_if_ctp_reply_handle(int lenght, int invalid_data_index);
00040 
00041 #endif /* EMAC_CTP_H */