Re: προσπάθεια σύνδεσης με IPv6
On Thu, 25 Feb 2010, Christos Ricudis wrote:
struct sockaddr_right {
u_short sa_family;
u_short sa_sockaddr_len;
char *sa_data;
};
Nope. To sa_data einai userland pointer o opoios 8a prepei meta na ginei
dereferenced apo ton pyrhna kai allocated se dikh tou mnhmh. As'to.
Epishs, to sa_sockaddr_len de xreiazetai na emperiexetai se ena toso
"commonly used" struct. Mporei na dw8ei ws 3exwristh parametros sth
sunarthsh pou to xrhsimopoiei.
Esy mallon 8es kati tetoio:
struct sockaddr {
u_short sa_family;
u_char sa_data[];
};
Auto onomazetai flexible array kai einai metagenestero tou BSD4.2 (C99).
Ston GCC to vlepeis synh8ws me th morfh zero-sized array
(char sa_data[0]).
Paliotera to trick auto ginotan me ena pio akompso tropo:
struct sockaddr {
u_short sa_family;
char sa_data[1];
};
Auth h texnikh xrhsimopoieitai kai sth msgsnd(2) gia na valeis to diko
sou variable sized payload.
--
dimitris
Reply to: