Lines Matching refs:ss
45 sdp_session_p ss = NULL; in sdp_open() local
49 if ((ss = calloc(1, sizeof(*ss))) == NULL) in sdp_open()
53 ss->error = EINVAL; in sdp_open()
57 ss->s = socket(PF_BLUETOOTH, SOCK_SEQPACKET, BLUETOOTH_PROTO_L2CAP); in sdp_open()
58 if (ss->s < 0) { in sdp_open()
59 ss->error = errno; in sdp_open()
70 if (bind(ss->s, (struct sockaddr *) &sa, sizeof(sa)) < 0) { in sdp_open()
71 ss->error = errno; in sdp_open()
77 if (connect(ss->s, (struct sockaddr *) &sa, sizeof(sa)) < 0) { in sdp_open()
78 ss->error = errno; in sdp_open()
82 size = sizeof(ss->omtu); in sdp_open()
83 if (getsockopt(ss->s, SOL_L2CAP, SO_L2CAP_OMTU, &ss->omtu, &size) < 0) { in sdp_open()
84 ss->error = errno; in sdp_open()
87 if ((ss->req = malloc(ss->omtu)) == NULL) { in sdp_open()
88 ss->error = ENOMEM; in sdp_open()
91 ss->req_e = ss->req + ss->omtu; in sdp_open()
93 size = sizeof(ss->imtu); in sdp_open()
94 if (getsockopt(ss->s, SOL_L2CAP, SO_L2CAP_IMTU, &ss->imtu, &size) < 0) { in sdp_open()
95 ss->error = errno; in sdp_open()
98 if ((ss->rsp = malloc(ss->imtu)) == NULL) { in sdp_open()
99 ss->error = ENOMEM; in sdp_open()
102 ss->rsp_e = ss->rsp + ss->imtu; in sdp_open()
103 ss->error = 0; in sdp_open()
105 return ((void *) ss); in sdp_open()
111 sdp_session_p ss = NULL; in sdp_open_local() local
114 if ((ss = calloc(1, sizeof(*ss))) == NULL) in sdp_open_local()
117 ss->s = socket(PF_UNIX, SOCK_STREAM, 0); in sdp_open_local()
118 if (ss->s < 0) { in sdp_open_local()
119 ss->error = errno; in sdp_open_local()
130 if (connect(ss->s, (struct sockaddr *) &sa, sizeof(sa)) < 0) { in sdp_open_local()
131 ss->error = errno; in sdp_open_local()
135 ss->flags |= SDP_SESSION_LOCAL; in sdp_open_local()
136 ss->imtu = ss->omtu = SDP_LOCAL_MTU; in sdp_open_local()
138 if ((ss->req = malloc(ss->omtu)) == NULL) { in sdp_open_local()
139 ss->error = ENOMEM; in sdp_open_local()
142 ss->req_e = ss->req + ss->omtu; in sdp_open_local()
144 if ((ss->rsp = malloc(ss->imtu)) == NULL) { in sdp_open_local()
145 ss->error = ENOMEM; in sdp_open_local()
148 ss->rsp_e = ss->rsp + ss->imtu; in sdp_open_local()
149 ss->error = 0; in sdp_open_local()
151 return ((void *) ss); in sdp_open_local()
157 sdp_session_p ss = (sdp_session_p) xss; in sdp_close() local
159 if (ss != NULL) { in sdp_close()
160 if (ss->s >= 0) in sdp_close()
161 close(ss->s); in sdp_close()
163 if (ss->req != NULL) in sdp_close()
164 free(ss->req); in sdp_close()
165 if (ss->rsp != NULL) in sdp_close()
166 free(ss->rsp); in sdp_close()
168 memset(ss, 0, sizeof(*ss)); in sdp_close()
169 free(ss); in sdp_close()
178 sdp_session_p ss = (sdp_session_p) xss; in sdp_error() local
180 return ((ss != NULL)? ss->error : EINVAL); in sdp_error()
186 sdp_session_p ss = (sdp_session_p) xss; in sdp_get_lcaddr() local
190 if (l == NULL || ss == NULL || ss->flags & SDP_SESSION_LOCAL) { in sdp_get_lcaddr()
191 ss->error = EINVAL; in sdp_get_lcaddr()
196 if (getsockname(ss->s, (struct sockaddr *)&sa, &size) == 0) { in sdp_get_lcaddr()
198 ss->error = 0; in sdp_get_lcaddr()
200 ss->error = errno; in sdp_get_lcaddr()
202 return ((ss->error == 0) ? 0 : -1); in sdp_get_lcaddr()