C - help
Igor Bujna
bujna na tcioptics.cz
Pondělí Červen 28 10:35:29 CEST 1999
Zdravicko,
delam si mensi dodelavku v cecku v jednom programu, ktery by
mel tahat ip adresu z clientu a nevim si rady z timto scriptem v C:
----------------------------------------------------------------------------
static void statClientRequests(StoreEntry * s)
{
dlink_node *i;
clientHttpRequest *http;
ConnStateData *conn;
StoreEntry *e;
int fd; for (i = ClientActiveRequests.head; i; i = i->next) {
http = i->data;
assert(http);
conn = http->conn;
storeAppendPrintf(s, "Connection: %p\n", conn);
if (conn) {
/* Modify by Igy */
char *IP_addr_1,*IP_addr_2;
strcpy(IP_addr_1,inet_ntoa(conn->peer.sin_addr));
strcpy(IP_addr_2,inet_ntoa(conn->me.sin_addr));
if ( (strcmp(IP_addr_1,IP_addr_2))==0 )
storeAppendPrintf(s, "\tProxy server to Proxy server(Alone to
himself)=> Name: %s & IP address: %s\n",fqdnFromAddr(conn-
>me.sin_addr),IP_addr_1);
else storeAppendPrintf(s, "Name(IP adress) of client & URL : %s
/ %s | <a href=""%s""<\\a>%s\n",
fqdnFromAddr(conn-
>me.sin_addr),IP_addr_2,http->uri,http->uri);
/* Modify by Igy */
----------------------------------------------------------------------------
Presne je to v program stat.c(radek 1300) ve squid-2.2.devel-3. Je
to funkce pro cachemgr--Client side Active request.
Chtel jsem si dodelat par odkazu, ale nejak mi to nejde.
Presne jakou strukturu ma conn->peer.sin_addr?
Jestli to je retezec tak bych ho chtel nakopirovat do
IP_addr_1(nevim jestli mam spravne definovanej jako char).
Nejak se nevyznam, protoze struct perr.sin_addr je vlastne odkaz
na strcut sinaddr_in v /usr/include/resolv.h a to uz je name moc
silny kafe.
Proste chtel bych s tim scriptem pomoct?
DIK za kazdou radu--piste mi na e-mail.
With regards
Igor Bujna
Programmer
Meopta-optika, a.s.
member of the TCI group
E-mail: bujna na tcioptics.cz
tel.: +420-641-24 2619 , 2621(answering machine)
fax.: +420-641-206579
Další informace o konferenci Linux