DVB_MOD_DIR = DVB_DIR=$(DVB_DIR)
endif
-DEFINES += -DRELEASE_VERSION=\"$(VERSION)\"
+DEFINES += -DRELEASE_VERSION=\"$(VERSION)\" -D__KERNEL_STRICT_NAMES
INCLUDES += -Idvbloopback/module -I/lib/modules/$(shell uname -r)/build/include
LBDIR = dvbloopback/src
SCDIR = sc/PLUGINS/src/$(SCVER)
#include <linux/poll.h>
#include <linux/fs.h>
#include <linux/list.h>
-#include <linux/smp_lock.h>
#define DVB_MAJOR 212
struct device *device;
struct module *module;
+
+ int mfe_shared; /* indicates mutually exclusive frontends */
+ struct dvb_device *mfe_dvbdev; /* frontend device in use */
+ struct mutex mfe_lock; /* access lock for thread creation */
};
struct dvb_device {
struct list_head list_head;
- struct file_operations *fops;
+ const struct file_operations *fops;
struct dvb_adapter *adapter;
int type;
+ int minor;
u32 id;
/* in theory, 'users' can vanish now,
+++ /dev/null
-VERSION = 0.0.2
-TOOL = forward
-
-CC ?= gcc
-CXX ?= g++
-CXXFLAGS ?= -g -Wall -Werror
-CFLAGS ?= -g -Wall
-
-ifdef DVB_DIR
- INCLUDES = -I$(DVB_DIR)/linux/include
- DVB_MOD_DIR = DVB_DIR=$(DVB_DIR)
-endif
-
-DEFINES += -DRELEASE_VERSION=\"$(VERSION)\"
-INCLUDES += -I../module
-
-#OBJS = forward.o process_req.o msg_passing.o plugin_getsid.o plugin_ringbuf.o \
-# plugin_dss.o version.o
-OBJS = forward.o process_req.o msg_passing.o \
- plugin_dss.o version.o
-LIBS = -lpthread
-
-INC_DEPS := $(shell ls *.h)
-
-all: $(TOOL)
-
-$(TOOL): $(OBJS)
- $(CXX) $(CFLAGS) -o $(TOOL) $(OBJS) $(LIBS)
-
-clean:
- rm -f $(OBJS)
- rm version.cpp
-
-%.o: %.c $(INC_DEPS)
- $(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $<
-
-%.o: %.cpp
- $(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $<
-
-version.o: version.cpp
- $(CXX) $(CXXFLAGS) -o $@ -c $(DEFINES) $<
-
-version.cpp: FORCE
- echo 'const char *source_version =' '"'`(svnversion $(shell pwd) 2>/dev/null) || echo Unknown`'";' > .vers.new ; diff .vers.new $@ > .vers.diff 2>&1 ; if test -s .vers.diff ; then mv -f .vers.new $@ ; fi ; rm -f .vers.new .vers.diff
-
-FORCE:
ioctl(pc->virtfd, DVBLB_CMD_ASYNC, &msg);
}
}
+ return NULL;
}
static cmdret_t do_cmd(struct list_head *list, struct parser_cmds *pc,