Lines Matching refs:ss

52 	struct sdp_session *	ss;  in _sdp_open()  local
57 ss = calloc(1, sizeof(struct sdp_session)); in _sdp_open()
58 if (ss == NULL) in _sdp_open()
61 ss->s = socket(PF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_L2CAP); in _sdp_open()
62 if (ss->s == -1) in _sdp_open()
68 if (setsockopt(ss->s, SOL_SOCKET, SO_LINGER, &li, sizeof(li)) == -1) in _sdp_open()
78 if (bind(ss->s, (struct sockaddr *)&sa, sizeof(sa)) == -1) in _sdp_open()
83 if (connect(ss->s, (struct sockaddr *)&sa, sizeof(sa)) == -1) in _sdp_open()
86 len = sizeof(ss->imtu); in _sdp_open()
87 if (getsockopt(ss->s, BTPROTO_L2CAP, SO_L2CAP_IMTU, &ss->imtu, &len) == -1) in _sdp_open()
90 ss->ibuf = malloc((size_t)(ss->imtu)); in _sdp_open()
91 if (ss->ibuf == NULL) in _sdp_open()
94 return ss; in _sdp_open()
97 _sdp_close(ss); in _sdp_open()
107 struct sdp_session * ss; in _sdp_open_local() local
110 ss = calloc(1, sizeof(struct sdp_session)); in _sdp_open_local()
111 if (ss == NULL) in _sdp_open_local()
114 ss->s = socket(PF_LOCAL, SOCK_STREAM, 0); in _sdp_open_local()
115 if (ss->s == -1) in _sdp_open_local()
125 if (connect(ss->s, (struct sockaddr *)&sa, sizeof(sa)) == -1) in _sdp_open_local()
128 ss->imtu = L2CAP_MTU_DEFAULT; in _sdp_open_local()
130 ss->ibuf = malloc((size_t)(ss->imtu)); in _sdp_open_local()
131 if (ss->ibuf == NULL) in _sdp_open_local()
134 return ss; in _sdp_open_local()
137 _sdp_close(ss); in _sdp_open_local()
145 _sdp_close(struct sdp_session *ss) in _sdp_close() argument
148 if (ss == NULL) in _sdp_close()
151 if (ss->s != -1) in _sdp_close()
152 close(ss->s); in _sdp_close()
154 if (ss->ibuf != NULL) in _sdp_close()
155 free(ss->ibuf); in _sdp_close()
157 if (ss->rbuf != NULL) in _sdp_close()
158 free(ss->rbuf); in _sdp_close()
160 free(ss); in _sdp_close()
170 _sdp_send_pdu(struct sdp_session *ss, uint8_t pid, struct iovec *iov, int num) in _sdp_send_pdu() argument
184 ss->tid += 1; in _sdp_send_pdu()
187 pdu.tid = htobe16(ss->tid); in _sdp_send_pdu()
194 nw = writev(ss->s, iov, num); in _sdp_send_pdu()
212 _sdp_recv_pdu(struct sdp_session *ss, uint8_t pid) in _sdp_recv_pdu() argument
221 iov[1].iov_base = ss->ibuf; in _sdp_recv_pdu()
222 iov[1].iov_len = ss->imtu; in _sdp_recv_pdu()
225 nr = readv(ss->s, iov, __arraycount(iov)); in _sdp_recv_pdu()
240 || ss->tid != pdu.tid in _sdp_recv_pdu()
244 errno = _sdp_errno(be16dec(ss->ibuf)); in _sdp_recv_pdu()