Date: Thu, 29 Oct 1998 09:46:21 +0200 (SAT) From: John Hay <jhay@mikom.csir.co.za> To: hackers@FreeBSD.ORG (FreeBSD-hackers) Subject: kld screensavers Message-ID: <199810290746.JAA16726@zibbi.mikom.csir.co.za>
next in thread | raw e-mail | index | archive | help
It looks like the kld screensavers hasn't been converted from lkm's to kld's yet. It looks like it has just been moved from the lkm directory to sys/modules. I have converted one of them (daemon_saver) and it seems to be working fine. Is this the kind of chnages needed? Is there something more (or less) needed? If this is ok, I will commit it and do the rest of the screensavers... Or is someone else busy with it... Or is there some other plan? One thing that I'm unsure about is in DECLARE_MODULE() if SI_SUB_PSEUDO is the right one to use for the screen savers. John -- John Hay -- John.Hay@mikom.csir.co.za Index: sys/modules/syscons/daemon/daemon_saver.c =================================================================== RCS file: /home/ncvs/src/sys/modules/syscons/daemon/daemon_saver.c,v retrieving revision 1.11 diff -u -r1.11 daemon_saver.c --- daemon_saver.c 1998/09/17 19:40:30 1.11 +++ daemon_saver.c 1998/10/23 10:29:52 @@ -35,6 +35,7 @@ #include <sys/lkm.h> #include <sys/malloc.h> #include <sys/kernel.h> +#include <sys/module.h> #include <sys/sysctl.h> #include <machine/md_var.h> @@ -48,8 +49,6 @@ #define DAEMON_MAX_WIDTH 32 #define DAEMON_MAX_HEIGHT 19 -MOD_MISC(daemon_saver); - static char *message; static int messagelen; static u_short *window; @@ -335,35 +334,37 @@ } static int -daemon_saver_load(struct lkm_table *lkmtp, int cmd) +daemon_saver_modevent(module_t mod, modeventtype_t type, void *unused) { int err; - messagelen = strlen(hostname) + 3 + strlen(ostype) + 1 + - strlen(osrelease); - message = malloc(messagelen + 1, M_DEVBUF, M_WAITOK); - sprintf(message, "%s - %s %s", hostname, ostype, osrelease); - - err = add_scrn_saver(daemon_saver); - if (err != 0) - free(message, M_DEVBUF); - return err; + err = 0; + switch (type) { + case MOD_LOAD: + messagelen = strlen(hostname) + 3 + strlen(ostype) + 1 + + strlen(osrelease); + message = malloc(messagelen + 1, M_DEVBUF, M_WAITOK); + sprintf(message, "%s - %s %s", hostname, ostype, osrelease); + + err = add_scrn_saver(daemon_saver); + if (err != 0) + free(message, M_DEVBUF); + break; + case MOD_UNLOAD: + err = remove_scrn_saver(daemon_saver); + if (err == 0) + free(message, M_DEVBUF); + break; + default: + printf("daemon_saver module unknown event: 0x%x\n", type); + } + return(err); } - -static int -daemon_saver_unload(struct lkm_table *lkmtp, int cmd) -{ - int err; - err = remove_scrn_saver(daemon_saver); - if (err == 0) - free(message, M_DEVBUF); - return err; -} +moduledata_t daemon_saver_mod = { + "daemon_saver", + daemon_saver_modevent, + 0 +}; -int -daemon_saver_mod(struct lkm_table *lkmtp, int cmd, int ver) -{ - MOD_DISPATCH(daemon_saver, lkmtp, cmd, ver, - daemon_saver_load, daemon_saver_unload, lkm_nullcmd); -} +DECLARE_MODULE(daemon_saver, daemon_saver_mod, SI_SUB_PSEUDO, SI_ORDER_ANY); To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199810290746.JAA16726>