improved asn_GT2time() and added asn_time2GT() function

diff --git a/skeletons/GeneralizedTime.h b/skeletons/GeneralizedTime.h
index d8176be..a7a8a4a 100644
--- a/skeletons/GeneralizedTime.h
+++ b/skeletons/GeneralizedTime.h
@@ -13,14 +13,33 @@
 extern asn1_TYPE_descriptor_t asn1_DEF_GeneralizedTime;
 
 asn_constr_check_f GeneralizedTime_constraint;
+der_type_encoder_f GeneralizedTime_encode_der;
 asn_struct_print_f GeneralizedTime_print;
 
 /***********************
  * Some handy helpers. *
  ***********************/
 
-/* On error returns -1 and errno set to EINVAL */
 struct tm;	/* <time.h> */
-time_t asn_GT2time(const GeneralizedTime_t *, struct tm *_optional_tm4fill);
+
+/*
+ * Convert a GeneralizedTime structure into time_t
+ * and optionally into struct tm.
+ * If as_gmt is given, the resulting _optional_tm4fill will have a GMT zone,
+ * instead of default local one.
+ * On error returns -1 and errno set to EINVAL
+ */
+time_t asn_GT2time(const GeneralizedTime_t *, struct tm *_optional_tm4fill,
+	int as_gmt);
+
+/*
+ * Convert a struct tm into GeneralizedTime.
+ * If __opt_gt is not given, this function will try to allocate one.
+ * If force_gmt is given, the resulting GeneralizedTime will be forced
+ * into a GMT time zone (encoding ends with 'Z').
+ * On error, this function returns 0 and sets errno.
+ */
+GeneralizedTime_t *asn_time2GT(GeneralizedTime_t *__opt_gt, const struct tm *,
+	int force_gmt);
 
 #endif	/* _GeneralizedTime_H_ */