Может кто-нибудь объяснить, что эта линия делает именно:пытается понять параметр sys_socketcall
socketcall(7,255);
Я знаю, что команда открывает порт в системе, но я не понимаю параметр. человек-страница говорит
int socketcall(int call, unsigned long *args);
DESCRIPTION
socketcall() is a common kernel entry point for the socket system calls. call determines which socket function to invoke. args points to a block con-
taining the actual arguments, which are passed through to the appropriate call.
User programs should call the appropriate functions by their usual names. Only standard library implementors and kernel hackers need to know about
socketcall().
Ok, вызовите 7 sys_getpeername, но если я взгляну в человеко-странице:
int getpeername(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
DESCRIPTION
getpeername() returns the address of the peer connected to the socket sockfd, in the buffer pointed to by addr. The addrlen argument should be initial-
ized to indicate the amount of space pointed to by addr. On return it contains the actual size of the name returned (in bytes). The name is truncated
if the buffer provided is too small.
The returned address is truncated if the buffer provided is too small; in this case, addrlen will return a value greater than was supplied to the call.
Я действительно не понимаю. Для функции требуется 3 параметра. как функция получила параметр? что означает 255? Кто-нибудь знает, как функция открывает порт?
Как раз для фона, вы используете какой-то вариант UNIX вместо Linux? – summea
Нет, я использую debian, fedora или suse. –
'255', как правило, не является допустимым указателем, так что либо a) является неправильной' socketcall() 'справочной страницей для этой конкретной функции, либо b)' 255' является своего рода специальным значением дозорного значения, которое не задокументировано в этом которая заставляет функцию делать что-то другое. – twalberg