本文整理汇总了C++中chat函数的典型用法代码示例。如果您正苦于以下问题:C++ chat函数的具体用法?C++ chat怎么用?C++ chat使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了chat函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: ropen
static void
ropen(Req *r)
{
Xfile *f;
chat("open(fid=%d,mode=%d)...", thdr.fid, thdr.mode);
errno = 0;
f = xfile(r->fid, Asis);
if( !f ){
errno = Eio;
goto error;
}
if(thdr.mode & OTRUNC){
if( !S_ISREG(getmode(f)) ){
errno = Eperm;
goto error;
}
if(truncfile(f) < 0){
goto error;
}
}
chat("f->qid=0x%8.8lux...", r->fid->qid.path);
rhdr.qid = r->fid->qid;
error:
response(r);
}
开发者ID:99years,项目名称:plan9,代码行数:28,代码来源:ext2fs.c
示例2: rwrite
static void
rwrite(Req *r)
{
Xfile *f; int nr;
chat("write(fid=%d,offset=%lld,count=%d)...",
thdr.fid, thdr.offset, thdr.count);
errno = 0;
if (!(f=xfile(r->fid, Asis)) ){
errno = Eio;
goto error;
}
if( !S_ISREG(getmode(f)) ){
errno = Elink;
goto error;
}
nr = writefile(f, thdr.data, thdr.offset, thdr.count);
if(nr >= 0){
rhdr.count = nr;
chat("rcnt=%d...OK\n", nr);
respond(r, nil);
return;
}
errno = Eio;
error:
response(r);
}
开发者ID:99years,项目名称:plan9,代码行数:28,代码来源:ext2fs.c
示例3: QModemService
NeoModemService::NeoModemService
(const QString & service, QSerialIODeviceMultiplexer * mux,
QObject * parent)
: QModemService(service, mux, parent)
, inputEvent("/dev/input/incoming")
, inputNotifier(0)
{
qDebug() << "Gta04ModemService::constructor";
// Turn on dynamic signal quality notifications.
// Register for "_OSIGQ" notifications to get signal quality updates.
primaryAtChat()->registerNotificationType
("_OSIGQ:", this, SLOT(sigq(QString)));
chat("AT+CSCS=\"GSM\""); // GSM encoding
chat("AT_OSQI=1"); // unsolicited reporting of antenna signal strength, e.g. "_OSIGQ: 3,0"
chat("AT_OPCMENABLE=1"); // enable the PCM interface for voice calls
chat("AT_OPSYS=0,2"); // disable UMTS, use only GSM
// Modem input device - reports keys when modem generates interrupt (e.g.
// on incoming call or sms).
if(inputEvent.open(QIODevice::ReadOnly)) {
inputNotifier = new QSocketNotifier(inputEvent.handle(), QSocketNotifier::Read, this);
connect(inputNotifier, SIGNAL(activated(int)), this, SLOT(handleInputEvent()));
}
开发者ID:RobertZenz,项目名称:qtmoko,代码行数:25,代码来源:vendor_neo.cpp
示例4: pc1auth
static int
pc1auth(int n, Rpccall *cmd, Rpccall *reply)
{
uchar *argptr = cmd->args;
uchar *dataptr = reply->results;
String id, pw;
Unixidmap *m;
int uid;
chat("host=%I, port=%ld: pcauth...",
cmd->host, cmd->port);
if(n <= 8)
return garbage(reply, "count too small");
argptr += string2S(argptr, &id);
argptr += string2S(argptr, &pw);
if(argptr != &((uchar*)cmd->args)[n])
return garbage(reply, "bad count");
scramble(&id);
scramble(&pw);
m = pair2idmap("pcnfsd", cmd->host);
uid = -1;
if(m)
uid = name2id(&m->u.ids, id.s);
if(uid < 0)
uid = 1;
chat("\"%.*s\",\"%.*s\" uid=%d\n", utfnlen(id.s, id.n), id.s, utfnlen(pw.s, pw.n), pw.s, uid);
PLONG(0); /* status */
PLONG(uid); /* uid */
PLONG(uid); /* gid */
return dataptr - (uchar*)reply->results;
}
开发者ID:99years,项目名称:plan9,代码行数:31,代码来源:pcnfsd.c
示例5: rread
static void
rread(Req *r)
{
Xfile *f;
int nr;
chat("read(fid=%d,offset=%lld,count=%d)...",
thdr.fid, thdr.offset, thdr.count);
errno = 0;
if ( !(f=xfile(r->fid, Asis)) )
goto error;
if( r->fid->qid.type & QTDIR ){
nr = readdir(f, r->rbuf, thdr.offset, thdr.count);
}else
nr = readfile(f, r->rbuf, thdr.offset, thdr.count);
if(nr >= 0){
rhdr.count = nr;
chat("rcnt=%d...OK\n", nr);
respond(r, nil);
return;
}
error:
errno = Eio;
response(r);
}
开发者ID:99years,项目名称:plan9,代码行数:26,代码来源:ext2fs.c
示例6: main
int main(int argc, char **argv)
{
struct sockaddr_in sin;
struct hostent *hp;
char buf[BUFSIZ];
int sock;
FILE *fp;
if (argc != 2)
fatal("usage: %s host", argv[0]);
if ((hp = gethostbyname(argv[1])) == 0)
fatal("host %s not found", argv[1]);
memset((char *) &sin, 0, sizeof(sin));
sin.sin_family = AF_INET;
memcpy((char *) &sin.sin_addr, hp->h_addr, sizeof(sin.sin_addr));
sin.sin_port = htons(25);
if ((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0)
fatal("socket: %s", strerror(errno));
if (connect(sock, (struct sockaddr *) & sin, sizeof(sin)) < 0)
fatal("connect to %s: %s", argv[1], strerror(errno));
if ((fp = fdopen(sock, "r+")) == 0)
fatal("fdopen: %s", strerror(errno));
if (fgets(buf, sizeof(buf), fp) == 0)
fatal("connection lost");
chat(fp, "mail from:<[email protected]>", fp);
for (;;)
chat(fp, "rcpt to:<[email protected]%s>", argv[1]);
}
开发者ID:offensive-security,项目名称:exploit-database,代码行数:28,代码来源:20562.c
示例7: nfsstatfs
static int
nfsstatfs(int n, Rpccall *cmd, Rpccall *reply)
{
uchar *dataptr = reply->results;
enum {
Xfersize = 2048,
Maxlong = (long)((1ULL<<31) - 1),
Maxfreeblks = Maxlong / Xfersize,
};
chat("statfs...");
showauth(&cmd->cred);
if(n != FHSIZE)
return garbage(reply, "bad count");
PLONG(NFS_OK);
PLONG(4096); /* tsize (fs block size) */
PLONG(Xfersize); /* bsize (optimal transfer size) */
PLONG(Maxfreeblks); /* blocks in fs */
PLONG(Maxfreeblks); /* bfree to root*/
PLONG(Maxfreeblks); /* bavail (free to mortals) */
chat("OK\n");
/*conftime = 0;
readunixidmaps(config);*/
return dataptr - (uchar *)reply->results;
}
开发者ID:AustenConrad,项目名称:plan-9,代码行数:25,代码来源:nfsserver.c
示例8: pcinfo
static int
pcinfo(int n, Rpccall *cmd, Rpccall *reply)
{
uchar *argptr = cmd->args;
uchar *dataptr = reply->results;
String vers, cm;
int i;
chat("host=%I, port=%ld: pcinfo...",
cmd->host, cmd->port);
if(n <= 16)
return garbage(reply, "count too small");
argptr += string2S(argptr, &vers);
argptr += string2S(argptr, &cm);
if(argptr != &((uchar *)cmd->args)[n])
return garbage(reply, "bad count");
chat("\"%.*s\",\"%.*s\"\n", utfnlen(vers.s, vers.n), vers.s, utfnlen(cm.s, cm.n), cm.s);
PLONG(sizeof(pc_vers)-1);
PPTR(pc_vers, sizeof(pc_vers)-1);
PLONG(sizeof(no_comment)-1);
PPTR(no_comment, sizeof(no_comment)-1);
PLONG(nelem(pcfacilities));
for(i=0; i<nelem(pcfacilities); i++)
PLONG(pcfacilities[i]);
return dataptr - (uchar *)reply->results;
}
开发者ID:99years,项目名称:plan9,代码行数:26,代码来源:pcnfsd.c
示例9: nfsnull
static int
nfsnull(int n, Rpccall *cmd, Rpccall *reply)
{
USED(n, reply);
chat("nfsnull...");
showauth(&cmd->cred);
chat("OK\n");
return 0;
}
开发者ID:AustenConrad,项目名称:plan-9,代码行数:9,代码来源:nfsserver.c
示例10: diag_ok
/*
* diag_ok:
* Check to see if the move is legal if it is diagonal
*/
int
diag_ok(const coord *sp, const coord *ep)
{
if (ep->x < 0 || ep->x >= NUMCOLS || ep->y <= 0 || ep->y >= NUMLINES - 1)
return FALSE;
if (ep->x == sp->x || ep->y == sp->y)
return TRUE;
return (step_ok(chat(ep->y, sp->x)) && step_ok(chat(sp->y, ep->x)));
}
开发者ID:kioy,项目名称:TA-Demo2,代码行数:13,代码来源:chase.c
示例11: creat
static int
creat(int n, Rpccall *cmd, Rpccall *reply, int chdir)
{
Xfid *xf, *newxf;
Xfile *xp;
String elem;
Dir dir; Sattr sattr;
uchar *argptr = cmd->args;
uchar *dataptr = reply->results;
int trunced;
if(n <= FHSIZE)
return garbage(reply, "count too small");
xf = rpc2xfid(cmd, 0);
argptr += FHSIZE;
argptr += string2S(argptr, &elem);
argptr += convM2sattr(argptr, &sattr);
if(argptr != &((uchar *)cmd->args)[n])
return garbage(reply, "bad count");
if(xf == 0)
return error(reply, NFSERR_STALE);
xp = xf->xp;
if(!(xp->qid.type & QTDIR))
return error(reply, NFSERR_NOTDIR);
chat("%s/%.*s...", xp->name, utfnlen(elem.s, elem.n), elem.s);
trunced = 0;
if(xp->parent == xp && elem.s[0] == '#'){
newxf = xfauth(xp, &elem);
if(newxf == 0)
return error(reply, NFSERR_PERM);
if(xfauthremove(newxf, cmd->user) < 0)
return error(reply, NFSERR_PERM);
trunced = 1;
}else
newxf = xfwalkcr(Twalk, xf, &elem, 0);
if(newxf == 0){
newxf = xfwalkcr(Tcreate, xf, &elem, chdir|(sattr.mode&0777));
if(newxf)
trunced = 1;
else
newxf = xfwalkcr(Twalk, xf, &elem, 0);
}
if(newxf == 0)
return error(reply, NFSERR_PERM);
if(!trunced && chdir)
return error(reply, NFSERR_EXIST);
if(!trunced && xfopen(newxf, Trunc|Oread|Owrite) < 0)
return error(reply, NFSERR_PERM);
if(xfstat(newxf, &dir) < 0)
return error(reply, NFSERR_IO);
PLONG(NFS_OK);
dataptr += xp2fhandle(newxf->xp, dataptr);
dataptr += dir2fattr(cmd->up, &dir, dataptr);
chat("OK\n");
return dataptr - (uchar *)reply->results;
}
开发者ID:AustenConrad,项目名称:plan-9,代码行数:57,代码来源:nfsserver.c
示例12: nfswritecache
static int
nfswritecache(int n, Rpccall *cmd, Rpccall *reply)
{
USED(n, reply);
chat("writecache...");
showauth(&cmd->cred);
chat("OK\n");
return 0;
}
开发者ID:AustenConrad,项目名称:plan-9,代码行数:9,代码来源:nfsserver.c
示例13: rcreate
static void
rcreate(Req *r)
{
Xfile *f;
int inr, perm;
chat("create(fid=%d,name=\"%s\",perm=%uo,mode=%d)...",
thdr.fid, thdr.name, thdr.perm, thdr.mode);
errno = 0;
if(strcmp(thdr.name, ".") == 0 || strcmp(thdr.name, "..") == 0){
errno = Eperm;
goto error;
}
f = xfile(r->fid, Asis);
if( !f ){
errno = Eio;
goto error;
}
if( strlen(thdr.name) > EXT2_NAME_LEN ){
chat("name too long ...");
errno = Elongname;
goto error;
}
/* create */
errno = 0;
if( thdr.perm & DMDIR ){
perm = (thdr.perm & ~0777) |
(getmode(f) & thdr.perm & 0777);
perm |= S_IFDIR;
inr = create_dir(f, thdr.name, perm);
}else{
perm = (thdr.perm & (~0777|0111)) |
(getmode(f) & thdr.perm & 0666);
perm |= S_IFREG;
inr = create_file(f, thdr.name, perm);
}
if( inr < 0 )
goto error;
/* fill with new inode */
f->pinbr = f->inbr;
if( get_inode(f, inr) < 0 ){
errno = Eio;
goto error;
}
r->fid->qid = (Qid){inr, 0, 0};
if( S_ISDIR(getmode(f)) )
r->fid->qid.type |= QTDIR;
chat("f->qid=0x%8.8lux...", r->fid->qid.path);
rhdr.qid = r->fid->qid;
error:
response(r);
}
开发者ID:99years,项目名称:plan9,代码行数:56,代码来源:ext2fs.c
示例14: getclust
/*
* get an io block from an io buffer
*/
Clustbuf*
getclust(Dos *dos, long sector)
{
Bootfs *fs;
Clustbuf *p, *oldest;
int size;
chat("getclust @ %ld\n", sector);
/*
* if we have it, just return it
*/
for(p = bio; p < &bio[Nbio]; p++){
if(sector == p->sector && dos == p->dos){
p->age = m->ticks;
chat("getclust %ld in cache\n", sector);
return p;
}
}
/*
* otherwise, reuse the oldest entry
*/
oldest = bio;
for(p = &bio[1]; p < &bio[Nbio]; p++){
if(p->age <= oldest->age)
oldest = p;
}
p = oldest;
/*
* make sure the buffer is big enough
*/
size = dos->clustsize*dos->sectsize;
if(p->iobuf==0 || p->size < size)
p->iobuf = smalloc(size);
p->size = size;
/*
* read in the cluster
*/
fs = (Bootfs*)dos; /* assume dos is embedded at start of an Bootfs */
chat("getclust addr %llud %p %s\n", ((sector+dos->start)*(vlong)dos->sectsize),
fs, fs->disk);
fs->devch->offset = (sector+dos->start) * (vlong)dos->sectsize;
if(myreadn(fs->devch, p->iobuf, size) != size){
chat("can't read block\n");
return 0;
}
USED(fs);
p->age = m->ticks;
p->dos = dos;
p->sector = sector;
chat("getclust %ld read\n", sector);
return p;
}
开发者ID:carriercomm,项目名称:plan9-gpl,代码行数:59,代码来源:dosboot.c
示例15: ppp_reconnect
void ppp_reconnect(struct ppp_context_s *ctx)
{
int ret;
int retry = PPP_MAX_CONNECT;
struct pppd_settings_s *pppd_settings = ctx->settings;
netlib_ifdown((char*)ctx->ifname);
lcp_disconnect(ctx, ++ctx->ppp_id);
sleep(1);
lcp_disconnect(ctx, ++ctx->ppp_id);
sleep(1);
write(ctx->ctl.fd, "+++", 3);
sleep(2);
write(ctx->ctl.fd, "ATE1\r\n", 6);
if (pppd_settings->disconnect_script)
{
ret = chat(&ctx->ctl, pppd_settings->disconnect_script);
if (ret < 0)
{
printf("ppp: disconnect script failed\n");
}
}
if (pppd_settings->connect_script)
{
do
{
ret = chat(&ctx->ctl, pppd_settings->connect_script);
if (ret < 0)
{
printf("ppp: connect script failed\n");
--retry;
if (retry == 0)
{
retry = PPP_MAX_CONNECT;
#ifdef PPP_ARCH_HAVE_MODEM_RESET
ppp_arch_modem_reset(pppd_settings->ttyname);
#endif
sleep(45);
}
else
{
sleep(10);
}
}
}
while (ret != 0);
}
ppp_init(ctx);
ppp_connect(ctx);
ctx->ip_len = 0;
}
开发者ID:acassis,项目名称:ros2_nuttx,代码行数:55,代码来源:pppd.c
示例16: nfssetattr
static int
nfssetattr(int n, Rpccall *cmd, Rpccall *reply)
{
Xfid *xf;
Dir dir, nd;
Sattr sattr;
int r;
uchar *argptr = cmd->args;
uchar *dataptr = reply->results;
chat("setattr...");
if(n <= FHSIZE)
return garbage(reply, "count too small");
xf = rpc2xfid(cmd, &dir);
argptr += FHSIZE;
argptr += convM2sattr(argptr, &sattr);
if(argptr != &((uchar *)cmd->args)[n])
return garbage(reply, "bad count");
chat("mode=0%lo,u=%ld,g=%ld,size=%ld,atime=%ld,mtime=%ld...",
sattr.mode, sattr.uid, sattr.gid, sattr.size,
sattr.atime, sattr.mtime);
if(xf == 0)
return error(reply, NFSERR_STALE);
if(sattr.uid != NOATTR || sattr.gid != NOATTR)
return error(reply, NFSERR_PERM);
if(sattr.size == 0){
if(xf->xp->s != xf->xp->parent->s){
if(xfauthremove(xf, cmd->user) < 0)
return error(reply, NFSERR_PERM);
}else if(dir.length && xfopen(xf, Trunc|Oread|Owrite) < 0)
return error(reply, NFSERR_PERM);
}else if(sattr.size != NOATTR)
return error(reply, NFSERR_PERM);
r = 0;
nulldir(&nd);
if(sattr.mode != NOATTR)
++r, nd.mode = (dir.mode & ~0777) | (sattr.mode & 0777);
if(sattr.atime != NOATTR)
++r, nd.atime = sattr.atime;
if(sattr.mtime != NOATTR)
++r, nd.mtime = sattr.mtime;
chat("sattr.mode=%luo dir.mode=%luo nd.mode=%luo...", sattr.mode, dir.mode, nd.mode);
if(r){
r = xfwstat(xf, &nd);
if(r < 0)
return error(reply, NFSERR_PERM);
}
if(xfstat(xf, &dir) < 0)
return error(reply, NFSERR_STALE);
PLONG(NFS_OK);
dataptr += dir2fattr(cmd->up, &dir, dataptr);
chat("OK\n");
return dataptr - (uchar *)reply->results;
}
开发者ID:AustenConrad,项目名称:plan-9,代码行数:54,代码来源:nfsserver.c
示例17: RegisterChatMessage
bool CAutoplayer::DoChat(void)
{
if ((p_autoplayer_functions->f$chat() == 0) || (_the_chat_message == NULL))
return false;
if (!IsChatAllowed())
return false;
// Converting the result of the $chat-function to a string.
// Will be ignored, if we already have an unhandled chat message.
RegisterChatMessage(p_autoplayer_functions->f$chat());
return p_casino_interface->EnterChatMessage(CString(_the_chat_message));
}
开发者ID:ohzooboy,项目名称:oh,代码行数:12,代码来源:CAutoplayer.cpp
示例18: xmesg
int
xmesg(Session *s, int t)
{
int n;
if(chatty){
if(0 <= t && t < nelem(tnames) && tnames[t])
chat("T%s...", tnames[t]);
else
chat("T%d...", t);
}
s->f.type = t;
s->f.tag = ++s->tag;
if(p9debug)
fprint(2, "xmseg\tsend %F\n", &s->f);
n = convS2M(&s->f, s->data, messagesize);
if(niwrite(s->fd, s->data, n) != n){
clog("xmesg write error on %d: %r\n", s->fd);
return -1;
}
again:
n = read9pmsg(s->fd, s->data, messagesize);
if(n < 0){
clog("xmesg read error: %r\n");
return -1;
}
if(convM2S(s->data, n, &s->f) <= 0){
clog("xmesg bad convM2S %d %.2x %.2x %.2x %.2x\n",
n, ((uchar*)s->data)[0], ((uchar*)s->data)[1],
((uchar*)s->data)[2], ((uchar*)s->data)[3]);
return -1;
}
if(p9debug)
fprint(2, "\trecv %F\n", &s->f);
if(s->f.tag != s->tag){
clog("xmesg tag %d for %d\n", s->f.tag, s->tag);
goto again;
}
if(s->f.type == Rerror){
if(t == Tclunk)
clog("xmesg clunk: %s", s->f.ename);
chat("xmesg %d error %s...", t, s->f.ename);
return -1;
}
if(s->f.type != t+1){
clog("xmesg type mismatch: %d, expected %d\n", s->f.type, t+1);
return -1;
}
return 0;
}
开发者ID:99years,项目名称:plan9,代码行数:50,代码来源:9p.c
示例19: response
static void
response(Req *r)
{
char *err;
if (errno) {
err = xerrstr(errno);
chat("%s\n", err);
respond(r, err);
} else {
chat("OK\n");
respond(r, nil);
}
}
开发者ID:99years,项目名称:plan9,代码行数:14,代码来源:ext2fs.c
示例20: remov
static int
remov(int n, Rpccall *cmd, Rpccall *reply)
{
Session *s;
Xfile *xp;
Xfid *xf, *newxf;
String elem;
Fid *nfid;
uchar *argptr = cmd->args;
uchar *dataptr = reply->results;
if(n <= FHSIZE)
return garbage(reply, "count too small");
xf = rpc2xfid(cmd, 0);
argptr += FHSIZE;
argptr += string2S(argptr, &elem);
if(argptr != &((uchar *)cmd->args)[n])
return garbage(reply, "bad count");
if(xf == 0)
return error(reply, NFSERR_STALE);
xp = xf->xp;
if(!(xp->qid.type & QTDIR))
return error(reply, NFSERR_NOTDIR);
chat("%s/%.*s...", xp->name, utfnlen(elem.s, elem.n), elem.s);
if(xp->s->noauth == 0 && xp->parent == xp && elem.s[0] == '#')
return error(reply, NFSERR_PERM);
newxf = xfwalkcr(Twalk, xf, &elem, 0);
if(newxf == 0)
return error(reply, NFSERR_NOENT);
s = xp->s;
nfid = newfid(s);
setfid(s, newxf->urfid);
s->f.newfid = nfid - s->fids;
s->f.nwname = 0;
if(xmesg(s, Twalk) < 0){
putfid(s, nfid);
return error(reply, NFSERR_IO);
}
s->f.fid = nfid - s->fids;
if(xmesg(s, Tremove) < 0){
putfid(s, nfid);
return error(reply, NFSERR_PERM);
}
putfid(s, nfid);
xpclear(newxf->xp);
PLONG(NFS_OK);
chat("OK\n");
return dataptr - (uchar *)reply->results;
}
开发者ID:AustenConrad,项目名称:plan-9,代码行数:49,代码来源:nfsserver.c
注:本文中的chat函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论