globus_ftp_client  8.17
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
globus_ftp_client_plugin.h
Go to the documentation of this file.
1 /*
2  * Copyright 1999-2006 University of Chicago
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef GLOBUS_FTP_CLIENT_PLUGIN_H
18 #define GLOBUS_FTP_CLIENT_PLUGIN_H
19 
57 #include "globus_ftp_client.h"
58 
59 #ifdef __cplusplus
60 extern "C" {
61 #endif
62 
70 typedef enum
71 {
72  GLOBUS_FTP_CLIENT_CMD_MASK_NONE = 0,
73 
76 
79 
82 
85 
88 
91 
94 
97 
100 }
102 
103 
130 typedef globus_ftp_client_plugin_t * (*globus_ftp_client_plugin_copy_t)(
131  globus_ftp_client_plugin_t * plugin_template,
132  void * plugin_specific);
133 
149  void * plugin_specific);
150 
176  void * plugin_specific,
178  const char * url);
179 
207  void * plugin_specific,
209  const char * url,
210  const globus_ftp_control_auth_info_t * auth_info);
211 
243  void * plugin_specific,
245  const char * url,
246  int mode,
248  globus_bool_t restart);
249 
281  void * plugin_specific,
283  const char * url,
284  const char * group,
286  globus_bool_t restart);
287 
319  void * plugin_specific,
321  const char * url,
322  const struct tm * utime_time,
324  globus_bool_t restart);
325 
357  void * plugin_specific,
359  const char * url,
360  const char * utime_time,
362  globus_bool_t restart);
363 
401  void * plugin_specific,
403  const char * url,
404  globus_off_t offset,
405  globus_off_t length,
406  const char * algorithm,
408  globus_bool_t restart);
409 
439  void * plugin_specific,
441  const char * url,
443  globus_bool_t restart);
444 
474  void * plugin_specific,
476  const char * url,
478  globus_bool_t restart);
479 
510  void * plugin_specific,
512  const char * url,
514  globus_bool_t restart);
515 
545  void * plugin_specific,
547  const char * url,
549  globus_bool_t restart);
550 
551 
581  void * plugin_specific,
583  const char * url,
585  globus_bool_t restart);
586 
616  void * plugin_specific,
618  const char * url,
620  globus_bool_t restart);
621 
651  void * plugin_specific,
653  const char * url,
655  globus_bool_t restart);
656 
686  void * plugin_specific,
688  const char * url,
690  globus_bool_t restart);
691 
721  void * plugin_specific,
723  const char * url,
725  globus_bool_t restart);
726 
727 
757  void * plugin_specific,
759  const char * url,
761  globus_bool_t restart);
762 
763 
795  void * plugin_specific,
797  const char * source_url,
798  const char * dest_url,
800  globus_bool_t restart);
801 
831  void * plugin_specific,
833  const char * url,
835  globus_bool_t restart);
836 
866  void * plugin_specific,
868  const char * url,
870  globus_bool_t restart);
871 
905  void * plugin_specific,
907  const char * source_url,
908  const globus_ftp_client_operationattr_t * source_attr,
909  const char * dest_url,
910  const globus_ftp_client_operationattr_t * dest_attr,
911  globus_bool_t restart);
912 
942  void * plugin_specific,
944  const char * url,
946  globus_bool_t restart);
947 
977  void * plugin_specific,
979  const char * url,
981  globus_bool_t restart);
982 
1000  globus_ftp_client_plugin_t * plugin,
1001  void * plugin_specific,
1002  globus_ftp_client_handle_t * handle);
1003 
1024  globus_ftp_client_plugin_t * plugin,
1025  void * plugin_specific,
1026  globus_ftp_client_handle_t * handle,
1027  const globus_byte_t * buffer,
1028  globus_size_t buffer_length);
1029 
1055  globus_ftp_client_plugin_t * plugin,
1056  void * plugin_specific,
1057  globus_ftp_client_handle_t * handle,
1058  const globus_byte_t * buffer,
1059  globus_size_t buffer_length,
1060  globus_off_t offset,
1061  globus_bool_t eof);
1062 
1089  globus_ftp_client_plugin_t * plugin,
1090  void * plugin_specific,
1091  globus_ftp_client_handle_t * handle,
1092  globus_object_t * error,
1093  const globus_byte_t * buffer,
1094  globus_size_t length,
1095  globus_off_t offset,
1096  globus_bool_t eof);
1097 
1121  globus_ftp_client_plugin_t * plugin,
1122  void * plugin_specific,
1123  globus_ftp_client_handle_t * handle,
1124  const char * url,
1125  const char * command);
1126 
1154  globus_ftp_client_plugin_t * plugin,
1155  void * plugin_specific,
1156  globus_ftp_client_handle_t * handle,
1157  const char * url,
1158  globus_object_t * error,
1159  const globus_ftp_control_response_t * ftp_response);
1160 
1181  globus_ftp_client_plugin_t * plugin,
1182  void * plugin_specific,
1183  globus_ftp_client_handle_t * handle,
1184  const char * url,
1185  globus_object_t * error);
1186 
1205  globus_ftp_client_plugin_t * plugin,
1206  void * plugin_specific,
1207  globus_ftp_client_handle_t * handle);
1208 
1209 
1210 /* Plugin Implementation API */
1211 globus_result_t
1213  globus_ftp_client_handle_t * handle,
1214  const char * url,
1215  const globus_ftp_client_operationattr_t * attr,
1216  const globus_abstime_t * when);
1217 
1218 globus_result_t
1220  globus_ftp_client_handle_t * handle,
1221  const char * url,
1222  const globus_ftp_client_operationattr_t * attr,
1223  const globus_abstime_t * when);
1224 
1225 globus_result_t
1227  globus_ftp_client_handle_t * handle,
1228  const char * url,
1229  const globus_ftp_client_operationattr_t * attr,
1230  const globus_abstime_t * when);
1231 
1232 globus_result_t
1234  globus_ftp_client_handle_t * handle,
1235  const char * url,
1236  const globus_ftp_client_operationattr_t * attr,
1237  const globus_abstime_t * when);
1238 
1239 globus_result_t
1241  globus_ftp_client_handle_t * handle,
1242  const char * url,
1243  const globus_ftp_client_operationattr_t * attr,
1244  const globus_abstime_t * when);
1245 
1246 globus_result_t
1248  globus_ftp_client_handle_t * handle,
1249  const char * url,
1250  const globus_ftp_client_operationattr_t * attr,
1251  const globus_abstime_t * when);
1252 
1253 globus_result_t
1255  globus_ftp_client_handle_t * handle,
1256  const char * url,
1257  const globus_ftp_client_operationattr_t * attr,
1258  const globus_abstime_t * when);
1259 
1260 globus_result_t
1262  globus_ftp_client_handle_t * handle,
1263  const char * url,
1264  int mode,
1265  const globus_ftp_client_operationattr_t * attr,
1266  const globus_abstime_t * when);
1267 
1268 globus_result_t
1270  globus_ftp_client_handle_t * handle,
1271  const char * url,
1272  const char * group,
1273  const globus_ftp_client_operationattr_t * attr,
1274  const globus_abstime_t * when);
1275 
1276 globus_result_t
1278  globus_ftp_client_handle_t * handle,
1279  const char * url,
1280  const struct tm * utime_time,
1281  const globus_ftp_client_operationattr_t * attr,
1282  const globus_abstime_t * when);
1283 
1284 globus_result_t
1286  globus_ftp_client_handle_t * handle,
1287  const char * url,
1288  const char * link_url,
1289  const globus_ftp_client_operationattr_t * attr,
1290  const globus_abstime_t * when);
1291 
1292 globus_result_t
1294  globus_ftp_client_handle_t * handle,
1295  const char * url,
1296  globus_off_t offset,
1297  globus_off_t length,
1298  const char * algorithm,
1299  const globus_ftp_client_operationattr_t * attr,
1300  const globus_abstime_t * when);
1301 
1302 globus_result_t
1304  globus_ftp_client_handle_t * handle,
1305  const char * url,
1306  const globus_ftp_client_operationattr_t * attr,
1307  const globus_abstime_t * when);
1308 
1309 globus_result_t
1311  globus_ftp_client_handle_t * handle,
1312  const char * url,
1313  const globus_ftp_client_operationattr_t * attr,
1314  const globus_abstime_t * when);
1315 
1316 globus_result_t
1318  globus_ftp_client_handle_t * handle,
1319  const char * url,
1320  const globus_ftp_client_operationattr_t * attr,
1321  const globus_abstime_t * when);
1322 
1323 globus_result_t
1325  globus_ftp_client_handle_t * handle,
1326  const char * source_url,
1327  const char * dest_url,
1328  const globus_ftp_client_operationattr_t * attr,
1329  const globus_abstime_t * when);
1330 
1331 globus_result_t
1333  globus_ftp_client_handle_t * handle,
1334  const char * url,
1335  const globus_ftp_client_operationattr_t * attr,
1336  globus_ftp_client_restart_marker_t * restart_marker,
1337  const globus_abstime_t * when);
1338 
1339 globus_result_t
1341  globus_ftp_client_handle_t * handle,
1342  const char * url,
1343  const globus_ftp_client_operationattr_t * attr,
1344  globus_ftp_client_restart_marker_t * restart_marker,
1345  const globus_abstime_t * when);
1346 
1347 globus_result_t
1349  globus_ftp_client_handle_t * handle,
1350  const char * source_url,
1351  const globus_ftp_client_operationattr_t * source_attr,
1352  const char * dest_url,
1353  const globus_ftp_client_operationattr_t * dest_attr,
1354  globus_ftp_client_restart_marker_t * restart_marker,
1355  const globus_abstime_t * when);
1356 
1357 globus_result_t
1359  globus_ftp_client_handle_t * handle,
1360  const char * url,
1361  const globus_ftp_client_operationattr_t * attr,
1362  const globus_abstime_t * when);
1363 
1364 globus_result_t
1366  globus_ftp_client_handle_t * handle,
1367  const char * url,
1368  const globus_ftp_client_operationattr_t * attr,
1369  const globus_abstime_t * when);
1370 
1371 globus_result_t
1373  globus_ftp_client_handle_t * handle,
1375 
1376 globus_result_t
1378  globus_ftp_client_handle_t * handle);
1379 
1380 globus_result_t
1382  globus_ftp_client_handle_t * handle,
1383  unsigned int num_channels,
1384  unsigned int stripe);
1385 
1386 globus_result_t
1388  globus_ftp_client_handle_t * handle,
1389  unsigned int num_channels,
1390  unsigned int stripe);
1391 
1392 globus_result_t
1393 globus_ftp_client_plugin_init(
1394  globus_ftp_client_plugin_t * plugin,
1395  const char * plugin_name,
1397  void * plugin_specific);
1398 
1399 globus_result_t
1400 globus_ftp_client_plugin_destroy(
1401  globus_ftp_client_plugin_t * plugin);
1402 
1403 globus_result_t
1404 globus_ftp_client_plugin_get_plugin_specific(
1405  globus_ftp_client_plugin_t * plugin,
1406  void ** plugin_specific);
1407 
1408 globus_result_t
1409 globus_ftp_client_plugin_set_copy_func(
1410  globus_ftp_client_plugin_t * plugin,
1412 
1413 globus_result_t
1414 globus_ftp_client_plugin_set_destroy_func(
1415  globus_ftp_client_plugin_t * plugin,
1417 
1418 globus_result_t
1419 globus_ftp_client_plugin_set_chmod_func(
1420  globus_ftp_client_plugin_t * plugin,
1422 
1423 globus_result_t
1424 globus_ftp_client_plugin_set_chgrp_func(
1425  globus_ftp_client_plugin_t * plugin,
1427 
1428 globus_result_t
1429 globus_ftp_client_plugin_set_utime_func(
1430  globus_ftp_client_plugin_t * plugin,
1432 
1433 globus_result_t
1434 globus_ftp_client_plugin_set_symlink_func(
1435  globus_ftp_client_plugin_t * plugin,
1436  globus_ftp_client_plugin_symlink_t symlink_func);
1437 
1438 globus_result_t
1439 globus_ftp_client_plugin_set_cksm_func(
1440  globus_ftp_client_plugin_t * plugin,
1442 
1443 globus_result_t
1444 globus_ftp_client_plugin_set_delete_func(
1445  globus_ftp_client_plugin_t * plugin,
1446  globus_ftp_client_plugin_delete_t delete_func);
1447 
1448 globus_result_t
1449 globus_ftp_client_plugin_set_feat_func(
1450  globus_ftp_client_plugin_t * plugin,
1452 
1453 globus_result_t
1454 globus_ftp_client_plugin_set_mkdir_func(
1455  globus_ftp_client_plugin_t * plugin,
1457 
1458 globus_result_t
1459 globus_ftp_client_plugin_set_rmdir_func(
1460  globus_ftp_client_plugin_t * plugin,
1462 
1463 globus_result_t
1464 globus_ftp_client_plugin_set_move_func(
1465  globus_ftp_client_plugin_t * plugin,
1467 
1468 globus_result_t
1469 globus_ftp_client_plugin_set_verbose_list_func(
1470  globus_ftp_client_plugin_t * plugin,
1471  globus_ftp_client_plugin_verbose_list_t verbose_list_func);
1472 
1473 globus_result_t
1474 globus_ftp_client_plugin_set_machine_list_func(
1475  globus_ftp_client_plugin_t * plugin,
1476  globus_ftp_client_plugin_machine_list_t machine_list_func);
1477 
1478 globus_result_t
1479 globus_ftp_client_plugin_set_recursive_list_func(
1480  globus_ftp_client_plugin_t * plugin,
1481  globus_ftp_client_plugin_recursive_list_t recursive_list_func);
1482 
1483 globus_result_t
1484 globus_ftp_client_plugin_set_list_func(
1485  globus_ftp_client_plugin_t * plugin,
1487 
1488 globus_result_t
1489 globus_ftp_client_plugin_set_mlst_func(
1490  globus_ftp_client_plugin_t * plugin,
1492 
1493 globus_result_t
1494 globus_ftp_client_plugin_set_stat_func(
1495  globus_ftp_client_plugin_t * plugin,
1497 
1498 globus_result_t
1499 globus_ftp_client_plugin_set_get_func(
1500  globus_ftp_client_plugin_t * plugin,
1502 
1503 globus_result_t
1504 globus_ftp_client_plugin_set_put_func(
1505  globus_ftp_client_plugin_t * plugin,
1507 
1508 globus_result_t
1509 globus_ftp_client_plugin_set_third_party_transfer_func(
1510  globus_ftp_client_plugin_t * plugin,
1512  third_party_transfer_func);
1513 
1514 globus_result_t
1515 globus_ftp_client_plugin_set_modification_time_func(
1516  globus_ftp_client_plugin_t * plugin,
1518  modification_time_func);
1519 globus_result_t
1520 globus_ftp_client_plugin_set_size_func(
1521  globus_ftp_client_plugin_t * plugin,
1523 
1524 globus_result_t
1525 globus_ftp_client_plugin_set_abort_func(
1526  globus_ftp_client_plugin_t * plugin,
1528 
1529 globus_result_t
1530 globus_ftp_client_plugin_set_connect_func(
1531  globus_ftp_client_plugin_t * plugin,
1532  globus_ftp_client_plugin_connect_t connect_func);
1533 
1534 globus_result_t
1535 globus_ftp_client_plugin_set_authenticate_func(
1536  globus_ftp_client_plugin_t * plugin,
1538 
1539 globus_result_t
1540 globus_ftp_client_plugin_set_read_func(
1541  globus_ftp_client_plugin_t * plugin,
1543 
1544 globus_result_t
1545 globus_ftp_client_plugin_set_write_func(
1546  globus_ftp_client_plugin_t * plugin,
1548 
1549 globus_result_t
1550 globus_ftp_client_plugin_set_data_func(
1551  globus_ftp_client_plugin_t * plugin,
1553 
1554 globus_result_t
1555 globus_ftp_client_plugin_set_command_func(
1556  globus_ftp_client_plugin_t * plugin,
1557  globus_ftp_client_plugin_command_t command_func);
1558 
1559 globus_result_t
1560 globus_ftp_client_plugin_set_response_func(
1561  globus_ftp_client_plugin_t * plugin,
1562  globus_ftp_client_plugin_response_t response_func);
1563 
1564 globus_result_t
1565 globus_ftp_client_plugin_set_fault_func(
1566  globus_ftp_client_plugin_t * plugin,
1568 
1569 globus_result_t
1570 globus_ftp_client_plugin_set_complete_func(
1571  globus_ftp_client_plugin_t * plugin,
1572  globus_ftp_client_plugin_complete_t complete_func);
1573 
1574 #ifdef __cplusplus
1575 }
1576 #endif
1577 
1578 #endif /* GLOBUS_FTP_CLIENT_PLUGIN_H */