24 lines
419 B
C
24 lines
419 B
C
|
#ifndef PRODUCER_H
|
||
|
#define PRODUCER_H
|
||
|
|
||
|
#include<stddef.h>
|
||
|
|
||
|
typedef struct producer_s producer_t;
|
||
|
struct producer_s {
|
||
|
/*
|
||
|
* return: 0: success, -1: failed
|
||
|
*/
|
||
|
int (*match)(void *data);
|
||
|
/*
|
||
|
* return: 0: continue, -1: stop and return
|
||
|
*/
|
||
|
int (*target)(void *data);
|
||
|
};
|
||
|
|
||
|
int producer_init(producer_t **p,
|
||
|
int (*match)(void *data),
|
||
|
int (*target)(void *data));
|
||
|
int producer_release(producer_t *p);
|
||
|
|
||
|
#endif
|