Avatar
12-08-2001, 13:29
In einem Programm, das ich aus einem Tutorial habe, stehen folgende Zeilen:
int s = socket (PF_INET, SOCK_RAW, IPPROTO_TCP);
.
.
.
{
int one=1;
int *val=&one;
setsockopt (s, IPPROTO_IP, IP_HDRINCL, val, sizeof (one));
}
.
.
.
Mein Problem: Er setzt mir den Socket ohne Fehler, aber bei der setsockopt()-Funktion liefert er mir als Fehler ENOTSOCK zurück...
Warum setzt er mir nen Socket und sagt danach, es wäre keiner??? s wurde zwischen den beiden Funktionsaufrufen nicht verändert...
Wenns was hilft:
Meine Distribution: Suse 7.0 prof
Kernel=2.2.16
Compiler=gcc
THX im Vorraus
EDIT: Die Deklarationen von one und val wurden berichtigt.
[ 12. August 2001: Beitrag editiert von: Avatar ]
int s = socket (PF_INET, SOCK_RAW, IPPROTO_TCP);
.
.
.
{
int one=1;
int *val=&one;
setsockopt (s, IPPROTO_IP, IP_HDRINCL, val, sizeof (one));
}
.
.
.
Mein Problem: Er setzt mir den Socket ohne Fehler, aber bei der setsockopt()-Funktion liefert er mir als Fehler ENOTSOCK zurück...
Warum setzt er mir nen Socket und sagt danach, es wäre keiner??? s wurde zwischen den beiden Funktionsaufrufen nicht verändert...
Wenns was hilft:
Meine Distribution: Suse 7.0 prof
Kernel=2.2.16
Compiler=gcc
THX im Vorraus
EDIT: Die Deklarationen von one und val wurden berichtigt.
[ 12. August 2001: Beitrag editiert von: Avatar ]