summaryrefslogtreecommitdiffhomepage
path: root/src/nxt_service.h
blob: 55d98351dbe2bbe39308fcfad4e22309fb75a93f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

/*
 * Copyright (C) Igor Sysoev
 * Copyright (C) NGINX, Inc.
 */

#ifndef _NXT_SERVICE_H_INCLUDED_
#define _NXT_SERVICE_H_INCLUDED_


typedef struct {
    const char  *type;
    const char  *name;
    const void  *service;
} nxt_service_t;


#define                                                                       \
nxt_service_is_module(s)                                                      \
    ((s)->type == NULL)


NXT_EXPORT nxt_array_t *nxt_services_init(nxt_mp_t *mp);
NXT_EXPORT nxt_int_t nxt_service_add(nxt_array_t *services,
    const nxt_service_t *service);
NXT_EXPORT const void *nxt_service_get(nxt_array_t *services, const char *type,
    const char *name);


#endif /* _NXT_SERVICE_H_INCLUDED_ */