- st=safe_malloc(sizeof(*st),"udp_apply(st)");
- struct udp *cc=st; /* for now */
- struct udp *uc=st; /* for now */
- struct udp *socks=st; /* for now */
- cc->loc=loc;
- cc->cl.description="udp";
- cc->cl.type=CL_COMM;
- cc->cl.apply=NULL;
- cc->cl.interface=&cc->ops;
- cc->ops.st=st;
- cc->ops.request_notify=request_notify;
- cc->ops.release_notify=release_notify;
- cc->ops.sendmsg=udp_sendmsg;
- cc->ops.addr_to_string=addr_to_string;
- uc->use_proxy=False;
- LIST_INIT(&cc->notify);
-
- item=list_elem(args,0);
- if (!item || item->type!=t_dict) {
- cfgfatal(cc->loc,"udp","first argument must be a dictionary\n");
- }
- d=item->data.dict;
+ COMM_APPLY(st,&st->uc.cc,udp_,"udp",loc);
+ COMM_APPLY_STANDARD(st,&st->uc.cc,"udp",args);
+ UDP_APPLY_STANDARD(st,&st->uc,"udp");