From owner-freebsd-hackers Wed Oct 28 23:46:38 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id XAA16364 for freebsd-hackers-outgoing; Wed, 28 Oct 1998 23:46:38 -0800 (PST) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from zibbi.mikom.csir.co.za (zibbi.mikom.csir.co.za [146.64.24.58]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id XAA16359 for ; Wed, 28 Oct 1998 23:46:31 -0800 (PST) (envelope-from jhay@zibbi.mikom.csir.co.za) Received: (from jhay@localhost) by zibbi.mikom.csir.co.za (8.9.1/8.9.1) id JAA16726 for hackers@FreeBSD.ORG; Thu, 29 Oct 1998 09:46:21 +0200 (SAT) From: John Hay Message-Id: <199810290746.JAA16726@zibbi.mikom.csir.co.za> Subject: kld screensavers To: hackers@FreeBSD.ORG (FreeBSD-hackers) Date: Thu, 29 Oct 1998 09:46:21 +0200 (SAT) X-Mailer: ELM [version 2.4ME+ PL32 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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 #include #include +#include #include #include @@ -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