<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Webdings;
panose-1:5 3 1 2 1 5 9 6 7 3;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri","sans-serif";
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri","sans-serif";
mso-fareast-language:EN-US;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="FR" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US">Hi,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">I' trying to read datas sent by my KVM host within the Guest.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Host send these datas trough a channel UNIX type , by using AF_UNIX socket stuff.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">If i try to retrive the datas by using such type of thing in the Guest :<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><i><span lang="EN-US">#define NAME "/dev/virtio-ports/agent"<o:p></o:p></span></i></p>
<p class="MsoNormal"><i><span lang="EN-US"><o:p> </o:p></span></i></p>
<p class="MsoNormal"><i><span lang="EN-US">sock = socket(AF_UNIX, SOCK_STREAM, 0);<o:p></o:p></span></i></p>
<p class="MsoNormal"><i><span lang="EN-US">12 if (sock < 0) {<o:p></o:p></span></i></p>
<p class="MsoNormal"><i><span lang="EN-US">13 perror("opening stream socket");<o:p></o:p></span></i></p>
<p class="MsoNormal"><i><span lang="EN-US">14 exit(1);<o:p></o:p></span></i></p>
<p class="MsoNormal"><i><span lang="EN-US">15 }<o:p></o:p></span></i></p>
<p class="MsoNormal"><i><span lang="EN-US">16 server.sun_family = AF_UNIX;<o:p></o:p></span></i></p>
<p class="MsoNormal"><i><span lang="EN-US">17 strcpy(server.sun_path, NAME);<o:p></o:p></span></i></p>
<p class="MsoNormal"><i><span lang="EN-US">18 if (bind(sock, (struct sockaddr *) &server, sizeof(struct sockaddr_un))) {<o:p></o:p></span></i></p>
<p class="MsoNormal"><i><span lang="EN-US">19 perror("binding stream socket");<o:p></o:p></span></i></p>
<p class="MsoNormal"><i><span lang="EN-US">20 exit(1);<o:p></o:p></span></i></p>
<p class="MsoNormal"><i><span lang="EN-US">21 }<o:p></o:p></span></i></p>
<p class="MsoNormal"><i><span lang="EN-US"><o:p> </o:p></span></i></p>
<p class="MsoNormal"><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">I got ""binding stream socket Address already in use" when trying to bind the socket .<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">But If I use such kind of thing :<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> <i>fd = open("/dev/virtio-ports/agent", O_RDWR | O_NONBLOCK);<o:p></o:p></i></span></p>
<p class="MsoNormal"><i><span lang="EN-US"> ssize_t size = read(fd, &rcv_buffer, 100);<o:p></o:p></span></i></p>
<p class="MsoNormal"><i><span lang="EN-US"> if(size >0) printf("Read length(%d) %s\n", size, rcv_buffer);<o:p></o:p></span></i></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">It works fine.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Is there any chance to be able to use socket stuff on Guest side or is there anything I misunderstand?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal">Thanks for help.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">J.P.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" style="padding:0cm 4.5pt 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:9.0pt;font-family:"Arial","sans-serif";color:#888888;mso-fareast-language:FR"><o:p> </o:p></span></b></p>
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:8.5pt;font-family:"Arial","sans-serif";color:#888888;mso-fareast-language:FR">J.P. Ribeauville<o:p></o:p></span></b></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.5pt;font-family:"Arial","sans-serif";color:#737373;mso-fareast-language:FR"><o:p> </o:p></span></p>
</td>
</tr>
<tr>
<td style="padding:2.25pt 4.5pt 4.5pt 0cm">
<p class="MsoNormal"><span style="font-size:8.5pt;font-family:"Arial","sans-serif";color:red;mso-fareast-language:FR">P:
</span><span style="font-size:8.5pt;font-family:"Arial","sans-serif";color:#737373;mso-fareast-language:FR">+33.(0).1.47.17.20.49</span><span style="font-size:8.5pt;font-family:"Arial","sans-serif";color:#737373;mso-fareast-language:FR"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:8.5pt;font-family:"Arial","sans-serif";color:#737373;mso-fareast-language:FR">.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:8.5pt;font-family:"Arial","sans-serif";color:#737373;mso-fareast-language:FR">Puteaux 3 Etage 5 Bureau 4<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:8.5pt;font-family:"Arial","sans-serif";color:#737373;mso-fareast-language:FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><u><span lang="EN-US" style="font-size:9.0pt;color:red;mso-fareast-language:FR"><a href="mailto:jpribeauville@axway.com"><span lang="FR" style="color:blue">jpribeauville@axway.com</span></a></span></u><u><span style="font-size:9.0pt;color:red;mso-fareast-language:FR"><br>
</span></u><span style="font-size:9.0pt;color:red;mso-fareast-language:FR"><a href="http://www.axway.com/"><span style="color:red">http://www.axway.com</span></a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:8.5pt;font-family:"Arial","sans-serif";color:#737373;mso-fareast-language:FR"><o:p> </o:p></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span style="display:none;mso-fareast-language:FR"><o:p> </o:p></span></p>
<table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="padding:4.5pt 4.5pt 4.5pt 0cm">
<p class="MsoNormal"><span style="font-size:18.0pt;font-family:Webdings;color:#888888;mso-fareast-language:FR">P</span><span style="font-size:8.0pt;font-family:"Arial","sans-serif";color:#888888;mso-fareast-language:FR"> Pensez à l’environnement avant d’imprimer.</span><span style="font-size:8.0pt;font-family:"Arial","sans-serif";color:#888888;mso-fareast-language:FR"><o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span style="mso-fareast-language:FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>