Dallas Semiconductor DS80C400 C Libraries Home Page

Main Page   Data Structures   File List   Data Fields   Globals  

rom400_sock.h

Go to the documentation of this file.
00001 /*---------------------------------------------------------------------------
00002  *  Copyright (C) 2003-2004 Dallas Semiconductor Corporation, All Rights Reserved.
00003  * 
00004  *  Permission is hereby granted, free of charge, to any person obtaining a
00005  *  copy of this software and associated documentation files (the "Software"),
00006  *  to deal in the Software without restriction, including without limitation
00007  *  the rights to use, copy, modify, merge, publish, distribute, sublicense,
00008  *  and/or sell copies of the Software, and to permit persons to whom the
00009  *  Software is furnished to do so, subject to the following conditions:
00010  * 
00011  *  The above copyright notice and this permission notice shall be included
00012  *  in all copies or substantial portions of the Software.
00013  * 
00014  *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
00015  *  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
00016  *  MERCHANTABILITY,  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
00017  *  IN NO EVENT SHALL DALLAS SEMICONDUCTOR BE LIABLE FOR ANY CLAIM, DAMAGES
00018  *  OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
00019  *  ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
00020  *  OTHER DEALINGS IN THE SOFTWARE.
00021  * 
00022  *  Except as contained in this notice, the name of Dallas Semiconductor
00023  *  shall not be used except as stated in the Dallas Semiconductor
00024  *  Branding Policy.
00025  * ---------------------------------------------------------------------------
00026  *
00027  * This file contains function definitions for the built-in ROM functions 
00028  * of the Dallas Semiconductor 400 processor.  This file is intended for use 
00029  * with the Keil MicroVision (uVision) C compiler.
00030  *
00031  * ---------------------------------------------------------------------------
00032  */
00033 #ifndef __rom400_sock_
00034 #define __rom400_sock_
00035 
00036 #include <stdlib.h>
00037 
00038 
00065 #define ROM400_SOCK_SYNCH_VERSION         10
00066 
00070 #define ROM400_SOCK_VERSION               10
00071 
00072 
00075 #define SOCKET_TYPE_DATAGRAM     0
00076 
00078 #define SOCKET_TYPE_STREAM       1
00079 
00081 #define SOCK_DGRAM               0
00082 
00084 #define SOCK_STREAM              1
00085 
00087 #define PF_INET                  4
00088 
00090 #define AF_INET      4
00091 
00093 #define AF_INET6     6
00094 
00096 #define IPPROTO_UDP  0
00097 
00098 
00102 #define TCP_NODELAY              0
00103 
00106 #define SO_LINGER                1
00107 
00110 #define SO_TIMEOUT               2
00111 
00114 #define SO_BINDADDR              3
00115 
00118 #define ETH_STATUS_LINK          1
00119 
00120 
00128 struct sockaddr
00129 {
00130     unsigned char bogus_ptr[3];    
00131     unsigned char sin_addr[16];    
00132     unsigned int  sin_port;        
00133     unsigned char sin_family;      
00134 };
00135 
00141 struct in_addr
00142 {
00143     unsigned long s_addr;      
00144 };
00145 
00150 struct in6_addr
00151 {
00152     unsigned char s6_addr[16];    
00153 };
00154 
00155 
00156 
00163 struct sockaddr_in
00164 {
00165     unsigned char bogus_ptr[3];    
00166     unsigned char sin_zero[12];    
00167     struct in_addr sin_addr;       
00168     unsigned int  sin_port;        
00169     unsigned char sin_family;      
00170 };
00171 
00172 
00173 
00174 
00195 //---------------------------------------------------------------------------
00196 char* inet_ntop(int family, void* addr, char* strptr, size_t len);
00197 
00215 //---------------------------------------------------------------------------
00216 unsigned int inet_pton(int family, char* str, void* addr);
00217 
00230 //---------------------------------------------------------------------------
00231 #define htons(x) (x)
00232 
00245 //---------------------------------------------------------------------------
00246 #define ntohs(x) (x)
00247 
00260 //---------------------------------------------------------------------------
00261 unsigned long inet_addr(char* inet_string);
00262 
00263 
00281 //---------------------------------------------------------------------------
00282 int  syn_socket(unsigned int type);
00283 
00296 //---------------------------------------------------------------------------
00297 int  syn_closesocket(int socket_num);
00298 
00323 //---------------------------------------------------------------------------
00324 int  syn_setDatagramAddress(int socket_num, unsigned char sending, struct sockaddr* addr);
00325 
00347 //---------------------------------------------------------------------------
00348 int  syn_sendto(int socket_num, unsigned int length, void* buffer);
00349 
00375 //---------------------------------------------------------------------------
00376 int  syn_recvfrom(int socket_num, unsigned int length, void* buffer);
00377 
00392 //---------------------------------------------------------------------------
00393 int  syn_connect(int socket_num, struct sockaddr* address);
00394 
00419 //---------------------------------------------------------------------------
00420 int  syn_bind(int socket_num, struct sockaddr* address);
00421 
00440 //---------------------------------------------------------------------------
00441 int  syn_listen(int socket_num, unsigned int backlog);
00442 
00464 //---------------------------------------------------------------------------
00465 int  syn_accept(int socket_num, struct sockaddr* address);
00466 
00487 //---------------------------------------------------------------------------
00488 int  syn_recv(int socket_num, unsigned int length, void* buffer);
00489 
00506 //---------------------------------------------------------------------------
00507 int  syn_send(int socket_num, unsigned int length, void* buffer);
00508 
00534 //---------------------------------------------------------------------------
00535 int  syn_getsockopt(int socket_num, unsigned int name, void* buffer);
00536 
00559 //---------------------------------------------------------------------------
00560 int  syn_setsockopt(int socket_num, unsigned int name, void* buffer);
00561 
00577 //---------------------------------------------------------------------------
00578 int  syn_getsockname(int socket_num, struct sockaddr* address);
00579 
00594 //---------------------------------------------------------------------------
00595 int  syn_getpeername(int socket_num, struct sockaddr* address);
00596 
00612 //---------------------------------------------------------------------------
00613 int  syn_cleanup(unsigned int process_id);
00614 
00629 //---------------------------------------------------------------------------
00630 int  syn_avail(int socket_num);
00631 
00651 //---------------------------------------------------------------------------
00652 int  syn_join(int socket_num, struct sockaddr* address);
00653 
00666 //---------------------------------------------------------------------------
00667 int  syn_leave(int socket_num, struct sockaddr* address);
00668 
00695 //---------------------------------------------------------------------------
00696 int  syn_getnetworkparams(void* param_buffer);
00697 
00729 //---------------------------------------------------------------------------
00730 int  syn_setnetworkparams(void* param_buffer);
00731 
00750 //---------------------------------------------------------------------------
00751 int  syn_getipv6params(void* param_buffer);
00752 
00767 //---------------------------------------------------------------------------
00768 unsigned int  syn_getethernetstatus(void);
00769 
00783 //---------------------------------------------------------------------------
00784 int  syn_gettftpserver(struct sockaddr* address);
00785 
00801 //---------------------------------------------------------------------------
00802 int  syn_settftpserver(struct sockaddr* address);
00803 
00814 //---------------------------------------------------------------------------
00815 unsigned char* syn_getmacid(void);
00816 
00829 //---------------------------------------------------------------------------
00830 void          syn_setmacid(void);
00831 
00841 //---------------------------------------------------------------------------
00842 void          clear_param_buffers(void);
00843 
00849 //---------------------------------------------------------------------------
00850 unsigned int syn_version(void);
00851 
00852 
00863 //---------------------------------------------------------------------------
00864 int  syn_arp_generaterequest(struct sockaddr* address);
00865 
00866 
00877 //---------------------------------------------------------------------------
00878 int  syn_arp_cacherequest(struct sockaddr* address);
00879 
00880 
00898 //---------------------------------------------------------------------------
00899 int  acceptqueue(int socket_handle, struct sockaddr* address);
00900 
00918 //---------------------------------------------------------------------------
00919 int  udpavailable(int socket_handle, struct sockaddr* address);
00920 
00921 
00922 
00923 
00924 
00925 
00926 
00927 
00928 
00929 
00930 
00931 
00932 
00933 
00934 
00935 
00936 
00937 
00938 
00939 
00940 
00941 
00942 
00943 
00944 
00945 
00946 
00947 
00948 
00949 
00950 
00951 
00952 
00953 
00954 
00955 
00956 
00957 
00958 
00959 
00960 
00961 
00962 
00963 
00964 
00965 
00966 
00967 
00968 
00969 
00970 
00971 
00972 
00973 
00974 
00975 
00976 
00977 
00978 
00979 
00980 
00981 
00982 
00983 
00984 
00985 
00986 
00987 
00988 
00989 
00990 
00991 
00992 
01012 //---------------------------------------------------------------------------
01013 #define socket(domain,type,protocol)         syn_socket((type))
01014 
01027 //---------------------------------------------------------------------------
01028 #define closesocket(socket_num)        syn_closesocket((socket_num))
01029 
01051 //---------------------------------------------------------------------------
01052 #define sendto(socket_num,buffer,length,flags,address,address_length)   syn_sendto(syn_setDatagramAddress((socket_num),1,(address)),(length),(buffer))
01053 
01081 //---------------------------------------------------------------------------
01082 #define recvfrom(socket_num,buffer,length,flags,address,address_length) syn_recvfrom(syn_setDatagramAddress((socket_num),0,(address)),(length),(buffer))
01083 
01099 //---------------------------------------------------------------------------
01100 #define connect(socket_num,address,address_length)        syn_connect((socket_num),(address))
01101 
01127 //---------------------------------------------------------------------------
01128 #define bind(socket_num,address,address_length)           syn_bind((socket_num),(address))
01129 
01148 //---------------------------------------------------------------------------
01149 #define listen(socket_num,backlog)           syn_listen((socket_num),(backlog))
01150 
01173 //---------------------------------------------------------------------------
01174 #define accept(socket_num,address,address_length)         syn_accept((socket_num),(address))
01175 
01197 //---------------------------------------------------------------------------
01198 #define recv(socket_num,buffer,length,flags)         syn_recv((socket_num),(length),(buffer))
01199 
01217 //---------------------------------------------------------------------------
01218 #define send(socket_num,buffer,length,flags)         syn_send((socket_num),(length),(buffer))
01219 
01244 //---------------------------------------------------------------------------
01245 #define getsockopt(socket_num,level,name,buffer,length) syn_getsockopt((socket_num),(name),(buffer))
01246 
01271 //---------------------------------------------------------------------------
01272 #define setsockopt(socket_num,level,name,buffer,length) syn_setsockopt((socket_num),(name),(buffer))
01273 
01290 //---------------------------------------------------------------------------
01291 #define getsockname(socket_num,address,address_length)    syn_getsockname((socket_num),(address))
01292 
01308 //---------------------------------------------------------------------------
01309 #define getpeername(socket_num,address,address_length)    syn_getpeername((socket_num),(address))
01310 
01326 //---------------------------------------------------------------------------
01327 #define cleanup(process_id)            syn_cleanup((process_id))
01328 
01343 //---------------------------------------------------------------------------
01344 #define avail(socket_num)              syn_avail((socket_num))
01345 
01366 //---------------------------------------------------------------------------
01367 #define join(socket_num,address,address_length)           syn_join((socket_num),(address))
01368 
01382 //---------------------------------------------------------------------------
01383 #define leave(socket_num,address,address_length)          syn_leave((socket_num),(address))
01384 
01411 //---------------------------------------------------------------------------
01412 #define getnetworkparams(param_buffer)   syn_getnetworkparams((param_buffer))
01413 
01445 //---------------------------------------------------------------------------
01446 #define setnetworkparams(param_buffer)   syn_setnetworkparams((param_buffer))
01447 
01466 //---------------------------------------------------------------------------
01467 #define getipv6params(param_buffer)      syn_getipv6params((param_buffer))
01468 
01483 //---------------------------------------------------------------------------
01484 #define getethernetstatus()   syn_getethernetstatus()
01485 
01500 //---------------------------------------------------------------------------
01501 #define gettftpserver(address,address_length)    syn_gettftpserver((address))
01502 
01519 //---------------------------------------------------------------------------
01520 #define settftpserver(address,address_length)    syn_settftpserver((address))
01521 
01532 //---------------------------------------------------------------------------
01533 #define getmacid()            syn_getmacid()
01534 
01547 //---------------------------------------------------------------------------
01548 #define setmacid()            syn_setmacid()
01549 
01550 
01556 #define sock_version()        syn_version()
01557 
01558 struct pingdata {
01559   unsigned char reserved[3];
01560   unsigned char ip_header[20];
01561   unsigned char icmp_header[8];
01562   unsigned char icmp_data[32];
01563 };
01564 
01584 //---------------------------------------------------------------------------
01585 long ping(struct sockaddr* address, unsigned int address_length, unsigned int time_to_live, struct pingdata* response);
01586 
01587 
01588 
01600 //---------------------------------------------------------------------------
01601 #define arp_generaterequest(address,address_length)    syn_arp_generaterequest((address))
01602 
01603 
01615 //---------------------------------------------------------------------------
01616 #define arp_cacherequest(address,address_length)    syn_arp_cacherequest((address))
01617 
01618 
01631 //---------------------------------------------------------------------------
01632 unsigned int eth_readmii(unsigned int phy, unsigned int reg);
01633 
01634 
01646 //---------------------------------------------------------------------------
01647 void eth_writemii(unsigned int phy, unsigned int reg, unsigned int val);
01648 
01649 
01659 //---------------------------------------------------------------------------
01660 void eth_disablemulticastreceiver(void);
01661 
01662 #endif
01663 

Copyright 2004 Dallas Semiconductor, Inc.. Documentation generated by Doxygen.