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