commit - 66ed321edf44a9465d011a3e54d60a6c32fc166f
commit + 1a0954abb80f92cd9940a21f11dd8f3a84518579
blob - dc738f14ffac7ab90eea6050bac2fcd858e2b409
blob + 139e6bf5e283c20399283a072a6e328db0596aba
--- include/bin.h
+++ include/bin.h
extern "C" {
#endif
+AUTOLIB(bin)
+
/*
#pragma lib "libbin.a"
#pragma src "/sys/src/libbin"
blob - bd5290116bfa0de6a067104b4dc3aef288c015b4
blob + 2c2b9566faf523e40ff1cc901e170b16611abd80
--- include/bio.h
+++ include/bio.h
extern "C" {
#endif
+AUTOLIB(bio)
+
#include <sys/types.h> /* for off_t */
#include <fcntl.h> /* for O_RDONLY, O_WRONLY */
blob - ae8003d748b7df8e119a7459bc7b9baa2ce62488
blob + 92ed14779f4976fc530884ee6afe4c93d7967784
--- include/complete.h
+++ include/complete.h
+#ifndef _COMPLETE_H_
+#define _COMPLETE_H_ 1
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+AUTOLIB(complete)
/*
#pragma lib "libcomplete.a"
#pragma src "/sys/src/libcomplete"
Completion* complete(char *dir, char *s);
void freecompletion(Completion*);
+
+#if defined(__cplusplus)
+}
+#endif
+#endif
blob - a887866e567d50827c27d71a4cba4310ca1aafb5
blob + 7e1d35a2d80cb7f7f0938ba8bbce82944bf2c238
--- include/disk.h
+++ include/disk.h
-#pragma src "/sys/src/libdisk"
-#pragma lib "libdisk.a"
+#ifndef _DISK_H_
+#define _DISK_H_ 1
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+AUTOLIB(disk)
+
+#if 0
/* SCSI interface */
typedef struct Scsi Scsi;
struct Scsi {
Gdisk,
Gguess,
};
+#endif
/* proto file parsing */
typedef void Protoenum(char *new, char *old, Dir *d, void *a);
typedef void Protowarn(char *msg, void *a);
int rdproto(char*, char*, Protoenum*, Protowarn*, void*);
+
+#if defined(__cplusplus)
+}
+#endif
+#endif
blob - 4898e3149c3b9da195c0c185c6dfd1cee0371126
blob + af58b31cdabc9bef6dd89935b274c2aa82721822
--- include/draw.h
+++ include/draw.h
#if defined(__cplusplus)
extern "C" {
#endif
+
+AUTOLIB(draw)
typedef struct Cachefont Cachefont;
typedef struct Cacheinfo Cacheinfo;
extern Image* namedimage(Display*, char*);
extern int nameimage(Image*, char*, int);
extern Image* allocimagemix(Display*, u32int, u32int);
-extern int drawsetlabel(Display*, char*);
+extern int drawsetlabel(char*);
/*
* Colors
blob - bbd0b3d75a3c33c205d1be0bc5402dedd12916e3
blob + 8fcc173c577a858d92ae649c7b5da56e0fa281a5
--- include/flate.h
+++ include/flate.h
#if defined(__cplusplus)
extern "C" {
#endif
+
+AUTOLIB(flate)
/*
#pragma lib "libflate.a"
#pragma src "/sys/src/libflate"
blob - 47d808ca4b4081d0f5dc9951eb1c55258279de0e
blob + a3291a70bf64dc10bf31e141c78bab4dd0c12013
--- include/frame.h
+++ include/frame.h
extern "C" {
#endif
+AUTOLIB(frame)
+
typedef struct Frbox Frbox;
typedef struct Frame Frame;
blob - 384427091b538e0832f96ee31998a4d1a03bfeda (mode 644)
blob + /dev/null
--- include/fs.h
+++ /dev/null
-#ifndef _FS_H_
-#define _FS_H_ 1
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * Simple user-level 9P client.
- */
-
-typedef struct Fsys Fsys;
-typedef struct Fid Fid;
-
-Fsys *fsinit(int);
-Fsys *fsmount(int, char*);
-
-int fsversion(Fsys*, int, char*, int);
-Fid *fsauth(Fsys*, char*);
-Fid *fsattach(Fsys*, Fid*, char*, char*);
-Fid *fsopen(Fsys*, char*, int);
-int fsopenfd(Fsys*, char*, int);
-long fsread(Fid*, void*, long);
-long fsreadn(Fid*, void*, long);
-long fswrite(Fid*, void*, long);
-void fsclose(Fid*);
-void fsunmount(Fsys*);
-int fsrpc(Fsys*, Fcall*, Fcall*, void**);
-Fid *fswalk(Fid*, char*);
-struct Dir; /* in case there's no lib9.h */
-long fsdirread(Fid*, struct Dir**);
-long fsdirreadall(Fid*, struct Dir**);
-struct Dir *fsdirstat(Fsys*, char*);
-struct Dir *fsdirfstat(Fid*);
-int fsdirwstat(Fsys*, char*, struct Dir*);
-int fsdirfwstat(Fid*, struct Dir*);
-Fid *fsroot(Fsys*);
-Fsys *nsmount(char*, char*);
-
-#ifdef __cplusplus
-}
-#endif
-#endif
blob - 0bcf3b5c8fd371aa81bcd8f94c7c367d2b71470b
blob + 1d5dd6b2d7e6223b357be323a729098c5e2f93bf
--- include/html.h
+++ include/html.h
extern "C" {
#endif
+AUTOLIB(html)
/*
#pragma lib "libhtml.a"
#pragma src "/sys/src/libhtml"
blob - 7f3325197e0859fe0822d915b61712fc8c5a5cef
blob + e968d5e251f274b72b16076696b0fc157cf67ab8
--- include/httpd.h
+++ include/httpd.h
#if defined(__cplusplus)
extern "C" {
#endif
+
+AUTOLIB(httpd)
/*
#pragma lib "libhttpd.a"
#pragma src "/sys/src/libhttpd"
blob - 36b36351ab144a50e3de43c56a061ec452b90411
blob + b6843e7062ff2365672ab8ec3331d9c3791019be
--- include/ip.h
+++ include/ip.h
extern "C" {
#endif
+AUTOLIB(ip)
/*
#pragma src "/sys/src/libip"
#pragma lib "libip.a"
blob - 1a560b6fc51ada418265a76d3e16e9849e18d66d
blob + ad782b44505c98fe0e0ecfbcdf19d1c50521abe7
--- include/libString.h
+++ include/libString.h
+#ifndef _LIBSTRING_H_
+#define _LIBSTRING_H_ 1
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
/*
#pragma src "/sys/src/libString"
#pragma lib "libString.a"
*/
+AUTOLIB(String)
/* extensible Strings */
typedef struct String {
extern Sinstack *s_allocinstack(char*);
extern void s_freeinstack(Sinstack*);
#endif /* BGETC */
+#if defined(__cplusplus)
+}
+#endif
+#endif
blob - e598a7809fb2913ba505dad5e0cd7ecc3aa6a840
blob + 008a283db5f235ddf4676868f6394488f2f75106
--- include/libsec.h
+++ include/libsec.h
#pragma lib "libsec.a"
#pragma src "/sys/src/libsec"
*/
+
+AUTOLIB(sec)
#ifndef _MPINT
typedef struct mpint mpint;
blob - 23089e44455a7ef253292310cb5798191be13f73
blob + 0f1a5ae500728e4bbb70719b23a11d4c7e3cdc8d
--- include/mach.h
+++ include/mach.h
+#ifndef _MACH_H_
+#define _MACH_H_ 1
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+AUTOLIB(mach)
+
/*
* Architecture-dependent application data.
*
uint format; /* print format: 'x', 'X', 'f', 'z', 'Z' */
};
-Regdesc* regdesc(char*);
-
enum
{
/* machine types */
Symbol* flookupsym(Fhdr*, char*);
Symbol* ffindsym(Fhdr*, Loc, uint);
-Symbol* addsym(Fhdr*, Symbol*);
+Symbol* _addsym(Fhdr*, Symbol*);
/*
* Stack frame walking.
};
extern int machdebug;
+#if defined(__cplusplus)
+}
+#endif
+#endif
blob - 427544df02f7660f229194dde747c41eff09b816
blob + 153fd03b6ed26dee505b8b3fb012e726c115d8dd
--- include/mp.h
+++ include/mp.h
extern "C" {
#endif
+AUTOLIB(mp)
+
/*
#pragma src "/sys/src/libmp"
#pragma lib "libmp.a"
blob - b8d242c800c721acda452649feb52aab1292279d
blob + 01d1779c0eb4692c4484f137a72f48cfed42b259
--- include/mux.h
+++ include/mux.h
+#ifndef _MUX_H_
+#define _MUX_H_ 1
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+AUTOLIB(mux)
+
typedef struct Mux Mux;
typedef struct Muxrpc Muxrpc;
typedef struct Muxqueue Muxqueue;
void _muxqhangup(Muxqueue*);
void *_muxnbqrecv(Muxqueue*);
+#if defined(__cplusplus)
+}
+#endif
+#endif
blob - b241712b24dd65751df8c28744bbf9d8cf5ef603
blob + 9e1c01b173f8dc2d1472821c262b4700d216e95a
--- include/regexp9.h
+++ include/regexp9.h
extern "C" {
#endif
+AUTOLIB(regexp9)
+
#include <utf.h>
typedef struct Resub Resub;
blob - bbcbba54f55adf5cd56d589ce7bcfeda76e67e7d
blob + 23c4a5292582e06b6701264312b98525426a7577
--- include/thread.h
+++ include/thread.h
extern "C" {
#endif
+AUTOLIB(thread)
+
/*
* basic procs and threads
*/
/*
* daemonize
- */
+ *
void threaddaemonize(void);
+ */
/*
* clumsy linker hack
blob - ba936960df8aa33bca06b05a25f6f7ae70a2b34d
blob + d062a9db41d12a3104c7d98ae2c0141322da9ad1
--- include/u.h
+++ include/u.h
#undef _NEEDUINT
#undef _NEEDULONG
+/*
+ * Funny-named symbols to tip off 9l to autolink.
+ */
+#define AUTOLIB(x) static int __p9l_autolib_ ## x = 1;
+
#if defined(__cplusplus)
}
#endif
blob - 889f86d313de1bfb173cc1687609db7c469ef0f4
blob + 7b14c1aed63bac7b754bf4b2d08e98b39f616d37
--- include/venti.h
+++ include/venti.h
#ifdef __cplusplus
extern "C" {
#endif
+
+AUTOLIB(venti)
+
/* XXX should be own library? */
/*
* Packets