MCPcopy Create free account
hub / github.com/F-Stack/f-stack / main

Function main

example/main_zc.c:234–299  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

232}
233
234int main(int argc, char * argv[])
235{
236 ff_init(argc, argv);
237
238 assert((kq = ff_kqueue()) > 0);
239
240 sockfd = ff_socket(AF_INET, SOCK_STREAM, 0);
241 if (sockfd < 0) {
242 ff_log(FF_LOG_ERR, FF_LOGTYPE_FSTACK_APP, "ff_socket failed, sockfd:%d, errno:%d, %s\n", sockfd, errno, strerror(errno));
243 exit(1);
244 }
245
246 struct sockaddr_in my_addr;
247 bzero(&my_addr, sizeof(my_addr));
248 my_addr.sin_family = AF_INET;
249 my_addr.sin_port = htons(80);
250 my_addr.sin_addr.s_addr = htonl(INADDR_ANY);
251
252 int ret = ff_bind(sockfd, (struct linux_sockaddr *)&my_addr, sizeof(my_addr));
253 if (ret < 0) {
254 ff_log(FF_LOG_ERR, FF_LOGTYPE_FSTACK_APP, "ff_bind failed, sockfd:%d, errno:%d, %s\n", sockfd, errno, strerror(errno));
255 exit(1);
256 }
257
258 ret = ff_listen(sockfd, MAX_EVENTS);
259 if (ret < 0) {
260 ff_log(FF_LOG_ERR, FF_LOGTYPE_FSTACK_APP, "ff_listen failed, sockfd:%d, errno:%d, %s\n", sockfd, errno, strerror(errno));
261 exit(1);
262 }
263
264 EV_SET(&kevSet, sockfd, EVFILT_READ, EV_ADD, 0, MAX_EVENTS, NULL);
265 /* Update kqueue */
266 ff_kevent(kq, &kevSet, 1, NULL, 0, NULL);
267
268#ifdef INET6
269 sockfd6 = ff_socket(AF_INET6, SOCK_STREAM, 0);
270 if (sockfd6 < 0) {
271 ff_log(FF_LOG_ERR, FF_LOGTYPE_FSTACK_APP, "ff_socket failed, sockfd6:%d, errno:%d, %s\n", sockfd6, errno, strerror(errno));
272 exit(1);
273 }
274
275 struct sockaddr_in6 my_addr6;
276 bzero(&my_addr6, sizeof(my_addr6));
277 my_addr6.sin6_family = AF_INET6;
278 my_addr6.sin6_port = htons(80);
279 my_addr6.sin6_addr = in6addr_any;
280
281 ret = ff_bind(sockfd6, (struct linux_sockaddr *)&my_addr6, sizeof(my_addr6));
282 if (ret < 0) {
283 ff_log(FF_LOG_ERR, FF_LOGTYPE_FSTACK_APP, "ff_bind failed, sockfd6:%d, errno:%d, %s\n", sockfd6, errno, strerror(errno));
284 exit(1);
285 }
286
287 ret = ff_listen(sockfd6, MAX_EVENTS);
288 if (ret < 0) {
289 ff_log(FF_LOG_ERR, FF_LOGTYPE_FSTACK_APP, "ff_listen failed, sockfd6:%d, errno:%d, %s\n", sockfd6, errno, strerror(errno));
290 exit(1);
291 }

Callers

nothing calls this directly

Calls 9

ff_initFunction · 0.85
ff_kqueueFunction · 0.85
ff_logFunction · 0.85
bzeroFunction · 0.85
ff_bindFunction · 0.85
ff_listenFunction · 0.85
ff_keventFunction · 0.85
ff_runFunction · 0.85
ff_socketFunction · 0.50

Tested by

no test coverage detected