taglinefilesource code
upd154net/unix/sock.cvoid unix_lock(struct unix_proto_data *upd)
upd156net/unix/sock.cwhile (upd->lock_flag)
upd157net/unix/sock.csleep_on(&upd->wait);
upd158net/unix/sock.cupd->lock_flag = 1;
upd162net/unix/sock.cvoid unix_unlock(struct unix_proto_data *upd)
upd164net/unix/sock.cupd->lock_flag = 0;
upd165net/unix/sock.cwake_up(&upd->wait);
upd237net/unix/sock.cstruct unix_proto_data *upd;
upd239net/unix/sock.cfor(upd = unix_datas; upd <= last_unix_data; ++upd) {
upd240net/unix/sock.cif (upd->refcnt && upd->socket &&
upd241net/unix/sock.cupd->socket->state == SS_UNCONNECTED &&
upd242net/unix/sock.cupd->sockaddr_un.sun_family == sockun->sun_family &&
upd243net/unix/sock.cupd->inode == inode) return(upd);
upd252net/unix/sock.cstruct unix_proto_data *upd;
upd255net/unix/sock.cfor(upd = unix_datas; upd <= last_unix_data; ++upd) {
upd256net/unix/sock.cif (!upd->refcnt) {
upd257net/unix/sock.cupd->refcnt = 1;
upd259net/unix/sock.cupd->socket = NULL;
upd260net/unix/sock.cupd->sockaddr_len = 0;
upd261net/unix/sock.cupd->sockaddr_un.sun_family = 0;
upd262net/unix/sock.cupd->buf = NULL;
upd263net/unix/sock.cupd->bp_head = upd->bp_tail = 0;
upd264net/unix/sock.cupd->inode = NULL;
upd265net/unix/sock.cupd->peerupd = NULL;
upd266net/unix/sock.creturn(upd);
upd275net/unix/sock.cunix_data_ref(struct unix_proto_data *upd)
upd277net/unix/sock.cif (!upd) {
upd281net/unix/sock.c++upd->refcnt;
upd282net/unix/sock.cdprintf(1, "UNIX: data_ref: refing data 0x%x(%d)\n", upd, upd->refcnt);
upd287net/unix/sock.cunix_data_deref(struct unix_proto_data *upd)
upd289net/unix/sock.cif (!upd) {
upd293net/unix/sock.cif (upd->refcnt == 1) {
upd294net/unix/sock.cdprintf(1, "UNIX: data_deref: releasing data 0x%x\n", upd);
upd295net/unix/sock.cif (upd->buf) {
upd296net/unix/sock.cfree_page((unsigned long)upd->buf);
upd297net/unix/sock.cupd->buf = NULL;
upd298net/unix/sock.cupd->bp_head = upd->bp_tail = 0;
upd301net/unix/sock.c--upd->refcnt;
upd312net/unix/sock.cstruct unix_proto_data *upd;
upd319net/unix/sock.cif (!(upd = unix_data_alloc())) {
upd323net/unix/sock.cif (!(upd->buf = (char*) get_free_page(GFP_USER))) {
upd325net/unix/sock.cunix_data_deref(upd);
upd328net/unix/sock.cupd->protocol = protocol;
upd329net/unix/sock.cupd->socket = sock;
upd330net/unix/sock.cUN_DATA(sock) = upd;
upd331net/unix/sock.cdprintf(1, "UNIX: create: allocated data 0x%x\n", upd);
upd339net/unix/sock.cstruct unix_proto_data *upd = UN_DATA(oldsock);
upd341net/unix/sock.creturn(unix_proto_create(newsock, upd->protocol));
upd348net/unix/sock.cstruct unix_proto_data *upd = UN_DATA(sock);
upd350net/unix/sock.cdprintf(1, "UNIX: release: socket 0x%x, unix_data 0x%x\n", sock, upd);
upd351net/unix/sock.cif (!upd) return(0);
upd352net/unix/sock.cif (upd->socket != sock) {
upd356net/unix/sock.cif (upd->inode) {
upd357net/unix/sock.cdprintf(1, "UNIX: release: releasing inode 0x%x\n", upd->inode);
upd358net/unix/sock.ciput(upd->inode);
upd359net/unix/sock.cupd->inode = NULL;
upd362net/unix/sock.cupd->socket = NULL;
upd363net/unix/sock.cif (upd->peerupd) unix_data_deref(upd->peerupd);
upd364net/unix/sock.cunix_data_deref(upd);
upd383net/unix/sock.cstruct unix_proto_data *upd = UN_DATA(sock);
upd394net/unix/sock.cif (upd->sockaddr_len || upd->inode) {
upd401net/unix/sock.cmemcpy_fromfs(&upd->sockaddr_un, umyaddr, sockaddr_len);
upd402net/unix/sock.cupd->sockaddr_un.sun_path[sockaddr_len-UN_PATH_OFFSET] = '\0';
upd403net/unix/sock.cif (upd->sockaddr_un.sun_family != AF_UNIX) {
upd405net/unix/sock.cupd->sockaddr_un.sun_family, AF_UNIX);
upd409net/unix/sock.cmemcpy(fname, upd->sockaddr_un.sun_path, sockaddr_len-UN_PATH_OFFSET);
upd414net/unix/sock.cif (i == 0) i = open_namei(fname, 0, S_IFSOCK, &upd->inode, NULL);
upd420net/unix/sock.cupd->sockaddr_len = sockaddr_len;  /* now its legal */
upd423net/unix/sock.csockaddr_un_printk(&upd->sockaddr_un, upd->sockaddr_len);
upd424net/unix/sock.cdprintf(1, "to inode 0x%x\n", upd->inode);
upd567net/unix/sock.cstruct unix_proto_data *upd;
upd577net/unix/sock.cupd = UN_DATA(sock->conn);
upd579net/unix/sock.cupd = UN_DATA(sock);
upd585net/unix/sock.cif (len > upd->sockaddr_len) len = upd->sockaddr_len;
upd590net/unix/sock.cmemcpy_tofs(usockaddr, &upd->sockaddr_un, len);
upd601net/unix/sock.cstruct unix_proto_data *upd;
upd606net/unix/sock.cupd = UN_DATA(sock);
upd607net/unix/sock.cwhile(!(avail = UN_BUF_AVAIL(upd))) {
upd626net/unix/sock.cunix_lock(upd);
upd637net/unix/sock.cif (cando >(part = BUF_SIZE - upd->bp_tail)) cando = part;
upd642net/unix/sock.cunix_unlock(upd);
upd645net/unix/sock.cmemcpy_tofs(ubuf, upd->buf + upd->bp_tail, cando);
upd646net/unix/sock.cupd->bp_tail =(upd->bp_tail + cando) &(BUF_SIZE-1);
upd651net/unix/sock.cavail = UN_BUF_AVAIL(upd);
upd653net/unix/sock.cunix_unlock(upd);
upd747net/unix/sock.cstruct unix_proto_data *upd, *peerupd;
upd764net/unix/sock.cupd = UN_DATA(sock);
upd766net/unix/sock.cUN_BUF_AVAIL(upd) ? "" : " no");
upd767net/unix/sock.cif (UN_BUF_AVAIL(upd))  /* even if disconnected */
upd798net/unix/sock.cstruct unix_proto_data *upd, *peerupd;
upd801net/unix/sock.cupd = UN_DATA(sock);
upd810net/unix/sock.cif (UN_BUF_AVAIL(upd) || peerupd)
upd811net/unix/sock.cput_fs_long(UN_BUF_AVAIL(upd),(unsigned long *)arg);
upd929net/unix/sock.cstruct unix_proto_data *upd;
upd941net/unix/sock.cfor(upd = unix_datas; upd <= last_unix_data; ++upd) {
upd942net/unix/sock.cupd->refcnt = 0;