Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
asn1c
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Libraries
asn1c
Commits
11c3e170
Commit
11c3e170
authored
Sep 24, 2004
by
Lev Walkin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
reheaderization
parent
12984671
Changes
42
Hide whitespace changes
Inline
Side-by-side
Showing
42 changed files
with
40 additions
and
64 deletions
+40
-64
libasn1compiler/asn1c_save.c
libasn1compiler/asn1c_save.c
+1
-1
skeletons/ANY.h
skeletons/ANY.h
+0
-1
skeletons/BIT_STRING.h
skeletons/BIT_STRING.h
+1
-2
skeletons/BMPString.h
skeletons/BMPString.h
+1
-2
skeletons/BOOLEAN.h
skeletons/BOOLEAN.h
+1
-1
skeletons/ENUMERATED.h
skeletons/ENUMERATED.h
+1
-2
skeletons/GeneralString.h
skeletons/GeneralString.h
+1
-2
skeletons/GeneralizedTime.h
skeletons/GeneralizedTime.h
+1
-2
skeletons/GraphicString.h
skeletons/GraphicString.h
+1
-2
skeletons/IA5String.h
skeletons/IA5String.h
+1
-2
skeletons/INTEGER.h
skeletons/INTEGER.h
+1
-1
skeletons/ISO646String.h
skeletons/ISO646String.h
+1
-1
skeletons/NULL.h
skeletons/NULL.h
+1
-1
skeletons/NativeInteger.h
skeletons/NativeInteger.h
+1
-1
skeletons/NativeReal.h
skeletons/NativeReal.h
+1
-1
skeletons/NumericString.h
skeletons/NumericString.h
+1
-2
skeletons/OBJECT_IDENTIFIER.h
skeletons/OBJECT_IDENTIFIER.h
+1
-2
skeletons/OCTET_STRING.h
skeletons/OCTET_STRING.h
+1
-1
skeletons/ObjectDescriptor.h
skeletons/ObjectDescriptor.h
+1
-2
skeletons/PrintableString.h
skeletons/PrintableString.h
+1
-2
skeletons/REAL.h
skeletons/REAL.h
+1
-1
skeletons/RELATIVE-OID.h
skeletons/RELATIVE-OID.h
+1
-2
skeletons/T61String.h
skeletons/T61String.h
+1
-2
skeletons/TeletexString.h
skeletons/TeletexString.h
+1
-2
skeletons/UTCTime.h
skeletons/UTCTime.h
+1
-2
skeletons/UTF8String.h
skeletons/UTF8String.h
+1
-2
skeletons/UniversalString.h
skeletons/UniversalString.h
+1
-2
skeletons/VideotexString.h
skeletons/VideotexString.h
+1
-2
skeletons/VisibleString.h
skeletons/VisibleString.h
+1
-2
skeletons/ber_decoder.h
skeletons/ber_decoder.h
+2
-2
skeletons/constr_CHOICE.h
skeletons/constr_CHOICE.h
+1
-1
skeletons/constr_SEQUENCE.h
skeletons/constr_SEQUENCE.h
+1
-1
skeletons/constr_SEQUENCE_OF.h
skeletons/constr_SEQUENCE_OF.h
+1
-1
skeletons/constr_SET.h
skeletons/constr_SET.h
+1
-1
skeletons/constr_SET_OF.h
skeletons/constr_SET_OF.h
+1
-1
skeletons/constr_TYPE.h
skeletons/constr_TYPE.h
+0
-2
skeletons/constraints.c
skeletons/constraints.c
+0
-1
skeletons/der_encoder.c
skeletons/der_encoder.c
+0
-1
skeletons/der_encoder.h
skeletons/der_encoder.h
+1
-1
skeletons/file-dependencies
skeletons/file-dependencies
+2
-1
skeletons/xer_encoder.c
skeletons/xer_encoder.c
+1
-2
skeletons/xer_encoder.h
skeletons/xer_encoder.h
+1
-1
No files found.
libasn1compiler/asn1c_save.c
View file @
11c3e170
...
...
@@ -216,7 +216,7 @@ asn1c_save_streams(arg_t *arg, asn1c_fdeps_t *deps) {
fprintf
(
fp_h
,
"#ifdef __cplusplus
\n
extern
\"
C
\"
{
\n
#endif
\n\n
"
);
fprintf
(
fp_h
,
"#include <
constr_TYPE
.h>
\n\n
"
);
fprintf
(
fp_h
,
"#include <
asn_application
.h>
\n\n
"
);
TQ_FOR
(
ot
,
&
(
cs
->
destination
[
OT_INCLUDES
].
chunks
),
next
)
{
asn1c_activate_dependency
(
deps
,
0
,
ot
->
buf
);
...
...
skeletons/ANY.h
View file @
11c3e170
...
...
@@ -5,7 +5,6 @@
#ifndef ASN_TYPE_ANY_H
#define ASN_TYPE_ANY_H
#include <constr_TYPE.h>
#include <OCTET_STRING.h>
/* Implemented via OCTET SRING type */
typedef
struct
ANY
{
...
...
skeletons/BIT_STRING.h
View file @
11c3e170
...
...
@@ -5,10 +5,9 @@
#ifndef _BIT_STRING_H_
#define _BIT_STRING_H_
#include <constr_TYPE.h>
#include <OCTET_STRING.h>
typedef
OCTET_STRING_t
BIT_STRING_t
;
/* Implemented
in terms of
OCTET STRING */
typedef
OCTET_STRING_t
BIT_STRING_t
;
/* Implemented
via
OCTET STRING */
extern
asn1_TYPE_descriptor_t
asn1_DEF_BIT_STRING
;
...
...
skeletons/BMPString.h
View file @
11c3e170
...
...
@@ -5,10 +5,9 @@
#ifndef _BMPString_H_
#define _BMPString_H_
#include <constr_TYPE.h>
#include <OCTET_STRING.h>
typedef
OCTET_STRING_t
BMPString_t
;
/* Implemented
in terms of
OCTET STRING */
typedef
OCTET_STRING_t
BMPString_t
;
/* Implemented
via
OCTET STRING */
extern
asn1_TYPE_descriptor_t
asn1_DEF_BMPString
;
...
...
skeletons/BOOLEAN.h
View file @
11c3e170
...
...
@@ -5,7 +5,7 @@
#ifndef _BOOLEAN_H_
#define _BOOLEAN_H_
#include <
constr_TYPE
.h>
#include <
asn_application
.h>
/*
* The underlying integer may contain various values, but everything
...
...
skeletons/ENUMERATED.h
View file @
11c3e170
...
...
@@ -5,10 +5,9 @@
#ifndef _ENUMERATED_H_
#define _ENUMERATED_H_
#include <constr_TYPE.h>
#include <INTEGER.h>
typedef
INTEGER_t
ENUMERATED_t
;
/* Implemented
in terms of
INTEGER */
typedef
INTEGER_t
ENUMERATED_t
;
/* Implemented
via
INTEGER */
extern
asn1_TYPE_descriptor_t
asn1_DEF_ENUMERATED
;
...
...
skeletons/GeneralString.h
View file @
11c3e170
...
...
@@ -5,10 +5,9 @@
#ifndef _GeneralString_H_
#define _GeneralString_H_
#include <constr_TYPE.h>
#include <OCTET_STRING.h>
typedef
OCTET_STRING_t
GeneralString_t
;
/* Implemented
in terms of
OCTET STRING */
typedef
OCTET_STRING_t
GeneralString_t
;
/* Implemented
via
OCTET STRING */
extern
asn1_TYPE_descriptor_t
asn1_DEF_GeneralString
;
...
...
skeletons/GeneralizedTime.h
View file @
11c3e170
...
...
@@ -5,10 +5,9 @@
#ifndef _GeneralizedTime_H_
#define _GeneralizedTime_H_
#include <constr_TYPE.h>
#include <OCTET_STRING.h>
typedef
OCTET_STRING_t
GeneralizedTime_t
;
/* Implemented
using
OCTET STRING */
typedef
OCTET_STRING_t
GeneralizedTime_t
;
/* Implemented
via
OCTET STRING */
extern
asn1_TYPE_descriptor_t
asn1_DEF_GeneralizedTime
;
...
...
skeletons/GraphicString.h
View file @
11c3e170
...
...
@@ -5,10 +5,9 @@
#ifndef _GraphicString_H_
#define _GraphicString_H_
#include <constr_TYPE.h>
#include <OCTET_STRING.h>
typedef
OCTET_STRING_t
GraphicString_t
;
/* Implemented
in terms of
OCTET STRING */
typedef
OCTET_STRING_t
GraphicString_t
;
/* Implemented
via
OCTET STRING */
extern
asn1_TYPE_descriptor_t
asn1_DEF_GraphicString
;
...
...
skeletons/IA5String.h
View file @
11c3e170
...
...
@@ -5,10 +5,9 @@
#ifndef _IA5String_H_
#define _IA5String_H_
#include <constr_TYPE.h>
#include <OCTET_STRING.h>
typedef
OCTET_STRING_t
IA5String_t
;
/* Implemented
in terms of
OCTET STRING */
typedef
OCTET_STRING_t
IA5String_t
;
/* Implemented
via
OCTET STRING */
/*
* IA5String ASN.1 type definition.
...
...
skeletons/INTEGER.h
View file @
11c3e170
...
...
@@ -5,7 +5,7 @@
#ifndef _INTEGER_H_
#define _INTEGER_H_
#include <
constr_TYPE
.h>
#include <
asn_application
.h>
typedef
struct
INTEGER
{
uint8_t
*
buf
;
/* Buffer with consecutive INTEGER bits (big-endian) */
...
...
skeletons/ISO646String.h
View file @
11c3e170
...
...
@@ -5,7 +5,7 @@
#ifndef _ISO646String_H_
#define _ISO646String_H_
#include <
constr_TYPE
.h>
#include <
asn_application
.h>
#include <VisibleString.h>
typedef
VisibleString_t
ISO646String_t
;
/* Implemented using VisibleString */
...
...
skeletons/NULL.h
View file @
11c3e170
...
...
@@ -5,7 +5,7 @@
#ifndef ASN_TYPE_NULL_H
#define ASN_TYPE_NULL_H
#include <
constr_TYPE
.h>
#include <
asn_application
.h>
/*
* The value of the NULL type is meaningless: see BOOLEAN if you want to
...
...
skeletons/NativeInteger.h
View file @
11c3e170
...
...
@@ -12,7 +12,7 @@
#ifndef _NativeInteger_H_
#define _NativeInteger_H_
#include <
constr_TYPE
.h>
#include <
asn_application
.h>
extern
asn1_TYPE_descriptor_t
asn1_DEF_NativeInteger
;
...
...
skeletons/NativeReal.h
View file @
11c3e170
...
...
@@ -11,7 +11,7 @@
#ifndef ASN_TYPE_NativeReal_H
#define ASN_TYPE_NativeReal_H
#include <
constr_TYPE
.h>
#include <
asn_application
.h>
extern
asn1_TYPE_descriptor_t
asn1_DEF_NativeReal
;
...
...
skeletons/NumericString.h
View file @
11c3e170
...
...
@@ -5,10 +5,9 @@
#ifndef _NumericString_H_
#define _NumericString_H_
#include <constr_TYPE.h>
#include <OCTET_STRING.h>
typedef
OCTET_STRING_t
NumericString_t
;
/* Implemented
in terms of
OCTET STRING */
typedef
OCTET_STRING_t
NumericString_t
;
/* Implemented
via
OCTET STRING */
extern
asn1_TYPE_descriptor_t
asn1_DEF_NumericString
;
...
...
skeletons/OBJECT_IDENTIFIER.h
View file @
11c3e170
...
...
@@ -5,10 +5,9 @@
#ifndef _OBJECT_IDENTIFIER_H_
#define _OBJECT_IDENTIFIER_H_
#include <constr_TYPE.h>
#include <INTEGER.h>
typedef
INTEGER_t
OBJECT_IDENTIFIER_t
;
/* Implemented
in terms of
INTEGER */
typedef
INTEGER_t
OBJECT_IDENTIFIER_t
;
/* Implemented
via
INTEGER */
extern
asn1_TYPE_descriptor_t
asn1_DEF_OBJECT_IDENTIFIER
;
...
...
skeletons/OCTET_STRING.h
View file @
11c3e170
...
...
@@ -5,7 +5,7 @@
#ifndef _OCTET_STRING_H_
#define _OCTET_STRING_H_
#include <
constr_TYPE
.h>
#include <
asn_application
.h>
typedef
struct
OCTET_STRING
{
uint8_t
*
buf
;
/* Buffer with consecutive OCTET_STRING bits */
...
...
skeletons/ObjectDescriptor.h
View file @
11c3e170
...
...
@@ -5,10 +5,9 @@
#ifndef _ObjectDescriptor_H_
#define _ObjectDescriptor_H_
#include <constr_TYPE.h>
#include <GraphicString.h>
typedef
GraphicString_t
ObjectDescriptor_t
;
/* Implemented in terms of.
*/
typedef
GraphicString_t
ObjectDescriptor_t
;
/* Implemented via GraphicString
*/
extern
asn1_TYPE_descriptor_t
asn1_DEF_ObjectDescriptor
;
...
...
skeletons/PrintableString.h
View file @
11c3e170
...
...
@@ -5,10 +5,9 @@
#ifndef _PrintableString_H_
#define _PrintableString_H_
#include <constr_TYPE.h>
#include <OCTET_STRING.h>
typedef
OCTET_STRING_t
PrintableString_t
;
/* Implemented in terms of
OCTET STRING */
typedef
OCTET_STRING_t
PrintableString_t
;
/* Implemented via
OCTET STRING */
extern
asn1_TYPE_descriptor_t
asn1_DEF_PrintableString
;
...
...
skeletons/REAL.h
View file @
11c3e170
...
...
@@ -5,7 +5,7 @@
#ifndef ASN_TYPE_REAL_H
#define ASN_TYPE_REAL_H
#include <
constr_TYPE
.h>
#include <
asn_application
.h>
typedef
struct
REAL
{
uint8_t
*
buf
;
/* Buffer with REAL type encoding */
...
...
skeletons/RELATIVE-OID.h
View file @
11c3e170
...
...
@@ -5,10 +5,9 @@
#ifndef _RELATIVE_OID_H_
#define _RELATIVE_OID_H_
#include <constr_TYPE.h>
#include <OBJECT_IDENTIFIER.h>
/* Implemented
in terms of
OBJECT IDENTIFIER */
/* Implemented
via
OBJECT IDENTIFIER */
typedef
OBJECT_IDENTIFIER_t
RELATIVE_OID_t
;
extern
asn1_TYPE_descriptor_t
asn1_DEF_RELATIVE_OID
;
...
...
skeletons/T61String.h
View file @
11c3e170
...
...
@@ -5,10 +5,9 @@
#ifndef _T61String_H_
#define _T61String_H_
#include <constr_TYPE.h>
#include <OCTET_STRING.h>
typedef
OCTET_STRING_t
T61String_t
;
/* Implemented
in terms of
OCTET STRING */
typedef
OCTET_STRING_t
T61String_t
;
/* Implemented
via
OCTET STRING */
extern
asn1_TYPE_descriptor_t
asn1_DEF_T61String
;
...
...
skeletons/TeletexString.h
View file @
11c3e170
...
...
@@ -5,10 +5,9 @@
#ifndef _TeletexString_H_
#define _TeletexString_H_
#include <constr_TYPE.h>
#include <OCTET_STRING.h>
typedef
OCTET_STRING_t
TeletexString_t
;
/* Implemented
in terms of
OCTET STRING */
typedef
OCTET_STRING_t
TeletexString_t
;
/* Implemented
via
OCTET STRING */
extern
asn1_TYPE_descriptor_t
asn1_DEF_TeletexString
;
...
...
skeletons/UTCTime.h
View file @
11c3e170
...
...
@@ -5,10 +5,9 @@
#ifndef _UTCTime_H_
#define _UTCTime_H_
#include <constr_TYPE.h>
#include <OCTET_STRING.h>
typedef
OCTET_STRING_t
UTCTime_t
;
/* Implemented
using
OCTET STRING */
typedef
OCTET_STRING_t
UTCTime_t
;
/* Implemented
via
OCTET STRING */
extern
asn1_TYPE_descriptor_t
asn1_DEF_UTCTime
;
...
...
skeletons/UTF8String.h
View file @
11c3e170
...
...
@@ -5,10 +5,9 @@
#ifndef _UTF8String_H_
#define _UTF8String_H_
#include <constr_TYPE.h>
#include <OCTET_STRING.h>
typedef
OCTET_STRING_t
UTF8String_t
;
/* Implemented
in terms of
OCTET STRING */
typedef
OCTET_STRING_t
UTF8String_t
;
/* Implemented
via
OCTET STRING */
extern
asn1_TYPE_descriptor_t
asn1_DEF_UTF8String
;
...
...
skeletons/UniversalString.h
View file @
11c3e170
...
...
@@ -5,10 +5,9 @@
#ifndef _UniversalString_H_
#define _UniversalString_H_
#include <constr_TYPE.h>
#include <OCTET_STRING.h>
typedef
OCTET_STRING_t
UniversalString_t
;
/* Implemented in terms of
OCTET STRING */
typedef
OCTET_STRING_t
UniversalString_t
;
/* Implemented via
OCTET STRING */
extern
asn1_TYPE_descriptor_t
asn1_DEF_UniversalString
;
...
...
skeletons/VideotexString.h
View file @
11c3e170
...
...
@@ -5,10 +5,9 @@
#ifndef _VideotexString_H_
#define _VideotexString_H_
#include <constr_TYPE.h>
#include <OCTET_STRING.h>
typedef
OCTET_STRING_t
VideotexString_t
;
/* Implemented in terms of
OCTET STRING */
typedef
OCTET_STRING_t
VideotexString_t
;
/* Implemented via
OCTET STRING */
extern
asn1_TYPE_descriptor_t
asn1_DEF_VideotexString
;
...
...
skeletons/VisibleString.h
View file @
11c3e170
...
...
@@ -5,10 +5,9 @@
#ifndef _VisibleString_H_
#define _VisibleString_H_
#include <constr_TYPE.h>
#include <OCTET_STRING.h>
typedef
OCTET_STRING_t
VisibleString_t
;
/* Implemented in terms of
OCTET STRING */
typedef
OCTET_STRING_t
VisibleString_t
;
/* Implemented via
OCTET STRING */
extern
asn1_TYPE_descriptor_t
asn1_DEF_VisibleString
;
...
...
skeletons/ber_decoder.h
View file @
11c3e170
...
...
@@ -5,7 +5,7 @@
#ifndef _BER_DECODER_H_
#define _BER_DECODER_H_
#include <
constr_TYPE
.h>
#include <
asn_application
.h>
struct
asn1_TYPE_descriptor_s
;
/* Forward declaration */
...
...
@@ -68,7 +68,7 @@ typedef ber_dec_rval_t (ber_type_decoder_f)(
* head->last_tag_form is non-zero.
*/
ber_dec_rval_t
ber_check_tags
(
struct
asn1_TYPE_descriptor_s
*
type_dsc
,
ber_dec_ctx_t
*
ctx
,
/* saved context */
ber_dec_ctx_t
*
opt_
ctx
,
/* saved context */
void
*
ptr
,
size_t
size
,
int
tag_mode
,
/* {-1,0,1}: IMPLICIT, no, EXPLICIT */
ber_tlv_len_t
*
last_length
,
...
...
skeletons/constr_CHOICE.h
View file @
11c3e170
...
...
@@ -5,7 +5,7 @@
#ifndef _CONSTR_CHOICE_H_
#define _CONSTR_CHOICE_H_
#include <
constr_TYPE
.h>
#include <
asn_application
.h>
typedef
struct
asn1_CHOICE_specifics_s
{
/*
...
...
skeletons/constr_SEQUENCE.h
View file @
11c3e170
...
...
@@ -5,7 +5,7 @@
#ifndef _CONSTR_SEQUENCE_H_
#define _CONSTR_SEQUENCE_H_
#include <
constr_TYPE
.h>
#include <
asn_application
.h>
typedef
struct
asn1_SEQUENCE_specifics_s
{
/*
...
...
skeletons/constr_SEQUENCE_OF.h
View file @
11c3e170
...
...
@@ -5,7 +5,7 @@
#ifndef _CONSTR_SEQUENCE_OF_H_
#define _CONSTR_SEQUENCE_OF_H_
#include <
constr_TYPE
.h>
#include <
asn_application
.h>
#include <constr_SET_OF.h>
/* Implemented using SET OF */
/*
...
...
skeletons/constr_SET.h
View file @
11c3e170
...
...
@@ -5,7 +5,7 @@
#ifndef _CONSTR_SET_H_
#define _CONSTR_SET_H_
#include <
constr_TYPE
.h>
#include <
asn_application
.h>
typedef
struct
asn1_SET_specifics_s
{
...
...
skeletons/constr_SET_OF.h
View file @
11c3e170
...
...
@@ -5,7 +5,7 @@
#ifndef _CONSTR_SET_OF_H_
#define _CONSTR_SET_OF_H_
#include <
constr_TYPE
.h>
#include <
asn_application
.h>
typedef
struct
asn1_SET_OF_specifics_s
{
/*
...
...
skeletons/constr_TYPE.h
View file @
11c3e170
...
...
@@ -11,8 +11,6 @@
#ifndef _CONSTR_TYPE_H
#define _CONSTR_TYPE_H
#include <asn_types.h>
/* System-dependent types */
struct
asn1_TYPE_descriptor_s
;
/* Forward declaration */
struct
asn1_TYPE_member_s
;
/* Forward declaration */
...
...
skeletons/constraints.c
View file @
11c3e170
#include <asn_internal.h>
#include <constraints.h>
#include <constr_TYPE.h>
int
asn_generic_no_constraint
(
asn1_TYPE_descriptor_t
*
type_descriptor
,
...
...
skeletons/der_encoder.c
View file @
11c3e170
...
...
@@ -3,7 +3,6 @@
* Redistribution and modifications are permitted subject to BSD license.
*/
#include <asn_internal.h>
#include <constr_TYPE.h>
#include <assert.h>
#include <errno.h>
...
...
skeletons/der_encoder.h
View file @
11c3e170
...
...
@@ -5,7 +5,7 @@
#ifndef _DER_ENCODER_H_
#define _DER_ENCODER_H_
#include <
constr_TYPE
.h>
#include <
asn_application
.h>
struct
asn1_TYPE_descriptor_s
;
/* Forward declaration */
...
...
skeletons/file-dependencies
View file @
11c3e170
...
...
@@ -43,8 +43,9 @@ constr_SET.h constr_SET.c
constr_SET_OF.h constr_SET_OF.c asn_SET_OF.h
COMMON-FILES: # This is a special section
asn_
types
.h
asn_
application
.h
asn_internal.h
asn_types.h
OCTET_STRING.h OCTET_STRING.c # This one is used too widely
ber_decoder.h ber_decoder.c
ber_tlv_length.h ber_tlv_length.c
...
...
skeletons/xer_encoder.c
View file @
11c3e170
...
...
@@ -3,7 +3,6 @@
* Redistribution and modifications are permitted subject to BSD license.
*/
#include <asn_internal.h>
#include <constr_TYPE.h>
#include <stdio.h>
#include <assert.h>
#include <errno.h>
...
...
@@ -43,7 +42,7 @@ xer_encode(asn1_TYPE_descriptor_t *td, void *sptr,
}
/*
* This is a helper function for xer_fprint, which directs all
the
incoming data
* This is a helper function for xer_fprint, which directs all incoming data
* into the provided file descriptor.
*/
static
int
...
...
skeletons/xer_encoder.h
View file @
11c3e170
...
...
@@ -5,7 +5,7 @@
#ifndef _XER_ENCODER_H_
#define _XER_ENCODER_H_
#include <
constr_TYPE
.h>
#include <
asn_application
.h>
struct
asn1_TYPE_descriptor_s
;
/* Forward declaration */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment