This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
tango-tfe/plugin/business/decrypt-mirroring/include/internal/mirror_stream.h

75 lines
2.0 KiB
C

#ifndef DELIVER_PROCESS_H
#define DELIVER_PROCESS_H
#include <sys/socket.h>
#include <netinet/in.h>
#include <tfe_stream.h>
struct origin_stream_addr
{
struct sockaddr* client;
struct sockaddr* server;
};
/**************************************************************************
Description:deliver read config from filepath to init;
Paraments:
thread_num:[IN],total process data thread num
filepath:[IN], conf file path,read use MESA_prof_load;
Return:
0:succes
<0:error
***************************************************************************/
int mirror_stream_init(int thread_num, const char* filepath);
/**************************************************************************
Description:call this function before send a new session data
Paraments:
thread_seq:[IN], thread seq
addr:[IN],addr of the session to be send
pme:[OUT],buffer alive in the session,deliver malloc and free *pme;
Return:
0:succes
<0:error
***************************************************************************/
int mirror_stream_open(int thread_id, const struct tfe_stream_addr* addr,void** pme);
/**************************************************************************
Description:call this function when send session data
Paraments:
cur_dir:[IN], direction of current data,definition in DELIVER_DIR_***
thread_seq:[IN],thread seq
buflen:[IN],buffer len,tcp payload len;
buf:[IN],data fo the session to be send,tcp payload
pme:[OUT]
Return:
0:succes
<0:error
***************************************************************************/
int mirror_stream_write(int cur_dir,const unsigned char * data, size_t len, void** pme,int thread_id);
/**************************************************************************
Description:call this function after send all of session data
Paraments:
thread_seq:[IN], thread seq
pme:[OUT]; free *pme when deliver_end()
Return:
0:succes
<0:error
***************************************************************************/
void mirror_stream_close(void** pme, int thread_id);
#endif