Mercurial > pidgin.yaz
view src/protocols/zephyr/ZhmStat.c @ 4889:f7150929332b
[gaim-migrate @ 5219]
Fix a lil ko.po problem some people with weird gettexts had.
Swap the "Open Mail" and "Close" buttons on the mail
notification dialog. Is this more HIGgish? If not, lemme know
and I'll burninate.
I took out lots of aim_conn_t's from ssi.c in favor of looking up
the connection from the session when it is needed. I like this way
better, and I've been slowly moving towards it.
Added some code used for uploading icons. I haven't gotten it to work
yet. I'm still not exactly sure what I'm supposed to be doing.
'twould be nice if Windows AIM still did this correctly. 'twould be
nice to have that kind of job security.
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Tue, 25 Mar 2003 05:01:00 +0000 |
parents | 7ba69b8e0de5 |
children | 43d6c08d7e96 |
line wrap: on
line source
/* This file is part of the Project Athena Zephyr Notification System. * It contains the ZhmStat() function. * * Created by: Marc Horowitz * * $Id: ZhmStat.c 2432 2001-10-03 19:38:28Z warmenhoven $ * * Copyright (c) 1996 by the Massachusetts Institute of Technology. * For copying and distribution information, see the file * "mit-copyright.h". */ #include <internal.h> #include <sys/socket.h> #ifndef INADDR_LOOPBACK #define INADDR_LOOPBACK 0x7f000001 #endif Code_t ZhmStat(hostaddr, notice) struct in_addr *hostaddr; ZNotice_t *notice; { struct servent *sp; struct sockaddr_in sin; ZNotice_t req; Code_t code; struct timeval tv; fd_set readers; (void) memset((char *)&sin, 0, sizeof(struct sockaddr_in)); sp = getservbyname(HM_SVCNAME, "udp"); sin.sin_port = (sp) ? sp->s_port : HM_SVC_FALLBACK; sin.sin_family = AF_INET; if (hostaddr) sin.sin_addr = *hostaddr; else sin.sin_addr.s_addr = htonl(INADDR_LOOPBACK); (void) memset((char *)&req, 0, sizeof(req)); req.z_kind = STAT; req.z_port = 0; req.z_class = HM_STAT_CLASS; req.z_class_inst = HM_STAT_CLIENT; req.z_opcode = HM_GIMMESTATS; req.z_sender = ""; req.z_recipient = ""; req.z_default_format = ""; req.z_message_len = 0; if ((code = ZSetDestAddr(&sin)) != ZERR_NONE) return(code); if ((code = ZSendNotice(&req, ZNOAUTH)) != ZERR_NONE) return(code); /* Wait up to ten seconds for a response. */ FD_ZERO(&readers); FD_SET(ZGetFD(), &readers); tv.tv_sec = 10; tv.tv_usec = 0; code = select(ZGetFD() + 1, &readers, NULL, NULL, &tv); if (code < 0 && errno != EINTR) return(errno); if (code == 0 || (code < 0 && errno == EINTR) || ZPending() == 0) return(ZERR_HMDEAD); return(ZReceiveNotice(notice, (struct sockaddr_in *) 0)); }