REQUIRE_OBJECT ( pc_kbd );
#endif
+#ifdef CONSOLE_SYSLOG
+REQUIRE_OBJECT ( syslog );
+#endif
+
/*
* Drag in all requested protocols
*
struct console_driver {
/** Console is disabled.
*
- * The console's putchar(), getchar() and iskey() methods will
- * not be called while #disabled==1. Typically the
+ * The console's putchar(), putline(), getchar() and iskey()
+ * methods will not be called while #disabled==1. Typically the
* console's initialisation functions (called via INIT_FN())
* will set #disabled=0 upon completion.
*
*/
void ( *putchar ) ( int character );
+ /** Write an entire line to the console.
+ * This is intended to be used by line-oriented output media,
+ * like system logging facilities or line printers.
+ * Line output will not contain non-printable characters.
+ *
+ * @v linebuffer Pointer to the \0-terminated line
+ * @ret None -
+ * @err None -
+ */
+ void ( * putline ) ( unsigned char * linebuffer );
+
/** Read a character from the console.
*
* @v None -
/** DNS servers */
#define DHCP_DNS_SERVERS 6
+/** Syslog servers */
+#define DHCP_LOG_SERVERS 7
+
/** Host name */
#define DHCP_HOST_NAME 12
DHCP_VENDOR_CLASS_ID,
DHCP_STRING ( 'E', 't', 'h', 'e', 'r', 'b', 'o', 'o', 't' ),
DHCP_PARAMETER_REQUEST_LIST,
- DHCP_OPTION ( DHCP_SUBNET_MASK, DHCP_ROUTERS, DHCP_DNS_SERVERS,
+ DHCP_OPTION ( DHCP_SUBNET_MASK, DHCP_ROUTERS, DHCP_DNS_SERVERS, DHCP_LOG_SERVERS,
DHCP_HOST_NAME, DHCP_DOMAIN_NAME, DHCP_ROOT_PATH,
DHCP_VENDOR_ENCAP, DHCP_TFTP_SERVER_NAME,
DHCP_BOOTFILE_NAME, DHCP_EB_ENCAP,
/* Avoid dragging in dns.o */
struct in_addr nameserver;
+/* Avoid dragging in syslog.o */
+struct in_addr syslogserver;
+
/**
* Configure network device via DHCP
*
/* Retrieve other DHCP options that we care about */
find_dhcp_ipv4_option ( dhcp_options, DHCP_DNS_SERVERS,
&nameserver );
+ find_dhcp_ipv4_option ( dhcp_options, DHCP_LOG_SERVERS,
+ &syslogserver );
return 0;
}