<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.arm.com/utility/feedstylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>SOCKADDR not found</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/30119/sockaddr-not-found</link><description> 
I cannot find the SOCKADDR or SOCKADDR_IN structure used in many
functions such as bind http://www.keil.com/support/man/docs/rlarm/rlarm_bind.htm 

or 
recvfrom http://www.keil.com/support/man/docs/rlarm/rlarm_recvfrom.htm 

 
I have included &amp;lt;RTL.h</description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: SOCKADDR not found</title><link>https://community.arm.com/thread/152241?ContentTypeID=1</link><pubDate>Tue, 21 Feb 2012 01:38:02 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:6511e1ee-a8f5-4055-b9d0-a39b5aef62d4</guid><dc:creator>Franc  Urbanc</dc:creator><description>&lt;p&gt;&lt;p&gt;
Yes, BSD functions can be used without RTX in non-blocking
mode.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SOCKADDR not found</title><link>https://community.arm.com/thread/147765?ContentTypeID=1</link><pubDate>Tue, 21 Feb 2012 01:20:12 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:44792c5b-a7d8-4e48-94d3-0f74f9c0966d</guid><dc:creator>IB Shy</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;&amp;quot;can&amp;#39;t I just use the BSD functions in my main() function
without any sort of task switching ?&amp;quot;&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
Not seen anything to say that the RTX is required with the BSD
functions. A look at the header files suggests that TCP and/or UDP
support must also be included (which would make sense).&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SOCKADDR not found</title><link>https://community.arm.com/thread/146815?ContentTypeID=1</link><pubDate>Tue, 21 Feb 2012 00:36:16 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:6f94b28d-1ef0-419f-9947-4b2ba6f33532</guid><dc:creator>Harshad Surdi</dc:creator><description>&lt;p&gt;&lt;p&gt;
@Andrew : sorry didn&amp;#39;t get you. Probably you are saying that linux
is not an OS but a &amp;quot;kernel&amp;quot;.&lt;/p&gt;

&lt;p&gt;
My question really is that can I use BSD functions &lt;b&gt;without&lt;/b&gt;
system call functions like &lt;i&gt;os_tsk_create_user ()&lt;/i&gt; (which is
used in the BSD examples for task switching) or
&lt;i&gt;os_tsk_create()&lt;/i&gt; (which is used in the BSD example to create a
timer_task); can&amp;#39;t I just use the BSD functions in my main() function
without any sort of task switching ?&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SOCKADDR not found</title><link>https://community.arm.com/thread/145266?ContentTypeID=1</link><pubDate>Sat, 18 Feb 2012 23:46:57 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:0f35cf19-268c-4af5-aedc-c59169dd666e</guid><dc:creator>Andy Neil</dc:creator><description>&lt;p&gt;&lt;p&gt;
Err... Linux &lt;i&gt;&lt;b&gt;is&lt;/b&gt;&lt;/i&gt; an OS - surely?!&lt;/p&gt;

&lt;p&gt;
For RL-ARM, look at the feature list: &lt;a href="http://www.keil.com/rl-arm/rl-tcpnet.asp"&gt;http://www.keil.com/rl-arm/rl-tcpnet.asp&lt;/a&gt;&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SOCKADDR not found</title><link>https://community.arm.com/thread/143106?ContentTypeID=1</link><pubDate>Sat, 18 Feb 2012 20:27:29 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:25c321fa-c57d-47f5-8f93-440e8c870c9d</guid><dc:creator>Harshad Surdi</dc:creator><description>&lt;p&gt;&lt;p&gt;
The problem was that I was installing MDK 4.23 and then the rl-arm
library v 4.12 , so the RTL.h was being replaced with an older
version; I didn&amp;#39;t know that in the MDK 4.23 the library came
integrated, now I know. Thanks to you.&lt;br /&gt;
After seeing the BSD example projects, I have a question : does BSD
implementation compulsorily require a RTOS (as in the example they
have included rtx.h and used functions prototyped in it)? As far as I
know implementation of BSD on linux distributions,say Ubuntu requires
an OS but otherwise for using BSD on embedded platforms, we wont
require an OS (hope I&amp;#39;m correct.)&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SOCKADDR not found</title><link>https://community.arm.com/thread/140164?ContentTypeID=1</link><pubDate>Sat, 18 Feb 2012 11:50:28 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:98e4c5be-b601-4d09-a377-01ae5a0688a9</guid><dc:creator>IB Shy</dc:creator><description>&lt;p&gt;&lt;p&gt;
The basic TCP functions of RL and the method you communicate
through them are somewhat different to the way you&amp;#39;d do it on
something like linux.&lt;/p&gt;

&lt;p&gt;
As I mentioned before, you might want to check out the BSD socket
functions. This relatively new collection of functions have far
greater similarity to Linux.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SOCKADDR not found</title><link>https://community.arm.com/thread/130954?ContentTypeID=1</link><pubDate>Fri, 17 Feb 2012 05:26:33 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:f87d71c0-3e44-484a-857d-26be61af10c9</guid><dc:creator>Harshad Surdi</dc:creator><description>&lt;p&gt;&lt;p&gt;
Ok, I&amp;#39;ll do a fresh install. Am I correct in this : RTL has
intentions to build functions similar to the functions in Linux, so
that same algorithms can be implemented on ARM7 (this will really
help me in my programming)&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SOCKADDR not found</title><link>https://community.arm.com/thread/127373?ContentTypeID=1</link><pubDate>Fri, 17 Feb 2012 05:11:18 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:1c9b52d6-fe54-43d5-bc84-138328b43b39</guid><dc:creator>IB Shy</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;&amp;quot;Now I have got MDK 4.23 ...&amp;quot;&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
You may have got it, but have you actually installed it?&lt;/p&gt;

&lt;p&gt;
Suggest you do a fresh install. RTL.h should be installed along
with the rest and in should say it is version 4.23.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SOCKADDR not found</title><link>https://community.arm.com/thread/116710?ContentTypeID=1</link><pubDate>Fri, 17 Feb 2012 05:04:28 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:ccc9a2b0-5520-415d-8902-a3c099531c2e</guid><dc:creator>Harshad Surdi</dc:creator><description>&lt;p&gt;&lt;p&gt;
Now I have got MDK 4.23 from here &lt;a href="http://www.keil.com/arm/mdk.asp"&gt;http://www.keil.com/arm/mdk.asp&lt;/a&gt;
; I still couldn&amp;#39;t find SOCKADDR nor HOSTNET structures in
RV31&amp;gt;INC&amp;gt;RTL.h . Is this because when I open the RTL.h it says
in comments that the RL_ARM version is 4.12; does this also require
an updated rl_arm library ? I have searched fathoms and fathoms in
the Keil directory and the internet for examples that use such
functions; although I have read the functions and their descriptions
from the keil website. Can you provide some examples (from somewhere)
:D ? I hope I am not being too greedy :|&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SOCKADDR not found</title><link>https://community.arm.com/thread/105743?ContentTypeID=1</link><pubDate>Fri, 17 Feb 2012 04:42:20 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:f020011e-81f0-4736-a939-020ced7a7b42</guid><dc:creator>IB Shy</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;&amp;quot;can I use the same program in keil to download it to my ARM7
...&amp;quot;&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
Almost certainly not.&lt;/p&gt;

&lt;p&gt;
It&amp;#39;s time to read the help files and look at the example
programs.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SOCKADDR not found</title><link>https://community.arm.com/thread/80001?ContentTypeID=1</link><pubDate>Fri, 17 Feb 2012 04:32:04 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:8d39f110-d948-4d95-ae62-b56ec1ea019d</guid><dc:creator>Harshad Surdi</dc:creator><description>&lt;p&gt;&lt;p&gt;
Ahhh! I am using version 4.12. Thanks!!&lt;/p&gt;

&lt;p&gt;
1 more question, if you dont mind :( :-&lt;/p&gt;

&lt;p&gt;
I have a server socket program to recieve UDP data on Ubuntu
(linux, basically) which I got it from &lt;a href="http://www.linuxhowtos.org/C_C++/socket.htm"&gt;www.linuxhowtos.org/.../socket.htm&lt;/a&gt;
; can I use the same program in keil to download it to my ARM7 (I
know this sounds very stupid, but still)? If not , how do I use the
rec or recv or listen or send functions in the RL library (which are
strikingly similar to the socket program which I got from linuxhowtos
)?&lt;br /&gt;
I am already thankfull for your advice :D&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SOCKADDR not found</title><link>https://community.arm.com/thread/60390?ContentTypeID=1</link><pubDate>Fri, 17 Feb 2012 03:59:07 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:8b4e6c61-3d17-4d41-8d0f-a83fffb9b658</guid><dc:creator>IB Shy</dc:creator><description>&lt;p&gt;&lt;p&gt;
What version of MDK have you got installed?&lt;/p&gt;

&lt;p&gt;
In 4.23 it&amp;#39;s in \Keil\ARM\RV31\INC\RTL.h&lt;/p&gt;

&lt;pre&gt;
/* BSD Socket typedef&amp;#39;s */
typedef struct sockaddr {         /* &amp;lt;&amp;lt; Generic Socket Address structure &amp;gt;&amp;gt;  */
  U16  sa_family;                 /* Address family                          */
  char sa_data[14];               /* Direct address (up to 14 bytes)         */
} SOCKADDR;
&lt;/pre&gt;

&lt;p&gt;
Check BSD socket functions.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>