LAPD profiles are globally defined structures

The pre-defined structures can be used as a profile, as well as own
defined or modified versions of them.
diff --git a/include/osmocom/abis/lapd.h b/include/osmocom/abis/lapd.h
index ee4ee38..03f8190 100644
--- a/include/osmocom/abis/lapd.h
+++ b/include/osmocom/abis/lapd.h
@@ -6,12 +6,22 @@
 #include <osmocom/core/linuxlist.h>
 #include <osmocom/gsm/lapd_core.h>
 
-enum lapd_profile {
-	LAPD_PROFILE_ISDN,
-	LAPD_PROFILE_ABIS,
-	LAPD_PROFILE_ASAT,
+struct lapd_profile {
+	uint8_t k, k_sapi0;
+	int n200;
+	int n201;
+	int n202;
+	int t200_sec, t200_usec;
+	int t201_sec, t201_usec;
+	int t202_sec, t202_usec;
+	int t203_sec, t203_usec;
+	int short_address;
 };
 
+extern const struct lapd_profile lapd_profile_isdn;
+extern const struct lapd_profile lapd_profile_abis;
+extern const struct lapd_profile lapd_profile_sat;
+
 struct lapd_instance {
 	struct llist_head list;		/* list of LAPD instances */
 	int network_side;
@@ -22,8 +32,7 @@
 		uint8_t sapi, void *rx_cbdata);
 	void *receive_cbdata;
 
-	enum lapd_profile profile;
-	uint8_t short_address;
+	struct lapd_profile profile; /* must be a copy */
 
 	struct llist_head tei_list;	/* list of TEI in this LAPD instance */
 };
@@ -49,7 +58,7 @@
 	void (*tx_cb)(struct msgb *msg, void *cbdata), void *tx_cbdata,
 	void (*rx_cb)(struct osmo_dlsap_prim *odp, uint8_t tei, uint8_t sapi, 
 			void *rx_cbdata), void *rx_cbdata,
-	enum lapd_profile profile);
+	const struct lapd_profile *profile);
 
 void lapd_instance_free(struct lapd_instance *li);