⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 function_tcp.h

📁 dsp 的内核编程在此呢
💻 H
字号:
#ifndef _FUNCTION_TCP_H
#define _FUNCTION_TCP_H_

#include <stdio.h>
#include <csl.h>
#include <std.h>
#include <csl_timer.h>
#include <csl_irq.h>
#include <csl_mdio.h>
#include "MyDefine.h"

typedef struct sockaddr SA; 
typedef struct sockaddr *PSA;

// File Descriptor Functions
 int    fdOpenSession( Handle hTask );
 void   fdCloseSession( Handle hTask );
 int    fdSelect( int width, fd_set *readfds, fd_set *writefds,
                         fd_set *exceptfds, struct timeval *timeout );
 void   fdSelectAbort( Handle hTask );
 int    fdClose( int fd );
 Handle fdGetFileHandle( int fd );
 int    fdError();
 int    fdTransfer( Handle hSrcTask, int srcfd, Handle hDstTask, int *pdstfd );
 int    fdShare( Handle hSrcTask, int srcfd,
                        Handle hDstTask, int dstfdpref, int *pdstfd );
 int    fdShareAll( Handle hSrcTask, Handle hDstTask );

// File Handle Functions
 void   FileHandleClose( Handle h );
 int    FileHandleGetFd( Handle h );

// Socket Oriented Functions
 int    accept( int s, PSA pName, int *plen );
 int    bind( int s, PSA pName, int len );
 int    connect( int s, PSA pName, int len );
 int    getpeername( int s, PSA pName, int *plen );
 int    getsockname( int s, PSA pName, int *plen );
 int    getsockopt( int s, int level, int op, void *pbuf, int *pbufsize );
 int    listen( int s, int maxcon );
 int    recv( int s, void *pbuf, int size, int flags );
 int    recvfrom( int s, void *pbuf, int size, int flags, PSA pName, int *plen );
 int    recvnc( int s, void **ppbuf, int flags, Handle *pHandle );
 int    recvncfrom( int s, void **ppbuf, int flags,
                           PSA pName, int *plen, Handle *pHandle );
 void   recvncfree( Handle Handle );
 int    send( int s, void *pbuf, int size, int flags );
 int    sendto( int s, void *pbuf, int size, int flags, PSA pName, int len );
 int    setsockopt( int s, int level, int op, void *pbuf, int bufsize );
 int    shutdown( int s, int how );
 int    socket( int domain, int type, int protocol );
 int    socketpair( int domain, int type, int protocol, int s[2] );

// Pipe Oriented Functions
 int    pipe( int *pfd1, int *pfd2 );



/* 
 将用点分割的IP地址转换位一个in_addr结构的地址,这个结构的定义见笔记(一),
 实际上就是一个unsigned long值。计算机内部处理IP地址可是不认识
 如192.1.8.84之类的数据。       
 unsigned long  inet_addr( const char FAR * cp );
 举例:inet_addr("192.1.8.84")=1409810880
 inet_addr("127.0.0.1")= 16777343
  
  7、将网络地址转换位用点分割的IP地址,是上面函数的逆函数。      
    char FAR *  inet_ntoa( struct in_addr in );
      举例:char * ipaddr=NULL;
      char addr[20];
      in_addr inaddr;
      inaddr. s_addr=16777343;
      ipaddr= inet_ntoa(inaddr);
      strcpy(addr,ipaddr); 
这样addr的值就变为127.0.0.1。
注意意不要修改返回值或者进行释放动作。如果函数失败就会返回NULL值。*/

      






#endif /*---Function_TCP.h---*/



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -